首页 未分类

1. u前缀

字符串默认创建即以Unicode编码存储,可以存储中文。

string = 'a' 等效于 string = u'a'
加了u前缀和没有加前缀的效果相同

2个字节表示u'a' 即 u'u0061' 实际内存中为 [0000 0000] [0110 0001]
即:

print(u'\u0061')
#> a
print(u'\u0062')
#> b

作用

在与工程默认编码格式不同的时候,使用此方法来避免编码的问题

2. b前缀

例:

response = b'<h1>Hello World!</h1>'
# b' ' 表示这是一个 bytes 对象

字符串存储为Ascll码,无法存储中文。

每个字符由1个字节表示(8位)

  • b'a' 即 b'x61' 实际内存中为 [0110 0001]

作用:

网络编程中,服务器和浏览器只认bytes 类型数据。
如:send 函数的参数和 recv 函数的返回值都是 bytes 类型

附:
在 Python3 中,bytes 和 str 的互相转换方式是

str.encode(‘utf-8’)
bytes.decode(‘utf-8’)

3. r前缀

与上述两种不是一样的东西了。

r前缀主要解决的是 转义字符,特殊字符 的问题,其中所有字符均视为普通字符。
注意:b'A\tA' 打印结果自带一个b'',表示该字符串是一个字节数组。

作用:

常用于正则表达式,对应着re模块。




文章评论