相关疑难解决方法(0)

'b'字符在字符串文字前面做了什么?

显然,以下是有效的语法

my_string = b'The string'
Run Code Online (Sandbox Code Playgroud)

我想知道:

  1. 这是什么b字在前面的字符串是什么意思?
  2. 使用它有什么影响?
  3. 使用它的适当情况是什么?

我在SO上找到了一个相关的问题,但是这个问题是关于PHP的,它表示b用于表示字符串是二进制的,而不是Unicode,这是代码与PHP版本兼容所需的代码<6 ,当迁移到PHP 6.我不认为这适用于Python.

我确实在Python网站上找到了关于使用相同语法的字符将字符串指定为Unicode的文档u.不幸的是,它没有提到该文档中任何地方的b字符.

而且,只是出于好奇,有没有比多符号bu是做其他事情?

python string unicode binary

724
推荐指数
10
解决办法
49万
查看次数

正则表达式上的Python TypeError

所以,我有这个代码:

url = 'http://google.com'
linkregex = re.compile('<a\s*href=[\'|"](.*?)[\'"].*?>')
m = urllib.request.urlopen(url)
msg = m.read()
links = linkregex.findall(msg)
Run Code Online (Sandbox Code Playgroud)

但是然后python返回这个错误:

links = linkregex.findall(msg)
TypeError: can't use a string pattern on a bytes-like object
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

python regex typeerror python-3.x

51
推荐指数
1
解决办法
4万
查看次数

标签 统计

python ×2

binary ×1

python-3.x ×1

regex ×1

string ×1

typeerror ×1

unicode ×1