问题描述
在处理python代码的时候,经常可以看到字符串的前面有u, b, 或r字母,如下图所示:
b'2019:12:26 07:52:16'
加上这些字母有什么意义呢?
1、字符串前加字母u
作用: u表示将后面跟的字符串以unicode格式进行编码
常用在含有中文的字符串前面(不仅针对中文,可以跟任何字符串)。
在
Python2中,默认的编码格式是ascii,因此直接使用中文会出现乱码

2、字符串前加字母r
作用: 表示非转义的原始字符串。
该字母后面一般接转义字符,有特殊含义的字符。加上r表示一个普通字符串,去掉反斜杠的转义。
常用于正则表达式或文件绝对地址等。
如:r'\n2\n' 此处的\n不表示换行,只表示字符串\n,如下图

3、字符串前加字母b
作用:加字母b表示后面接的字符串是byts类型。 b' '表示是一个bytes对象。
在Python2.x中,前缀b没有具体意义,该写法是为了兼容Python3.x。Python2.x中只有字节形式的字符串。
在Python3.x中,bytes和str类型可以互相转换,如下:
str转bytes:
str.encode('utf-8')bytes转str:
bytes.decode('utf-8')
如下所示:

本文详细解释了Python中字符串前缀u、r、b的作用,包括Unicode编码、原始字符串及bytes类型的含义,帮助理解不同场景下字符串的正确使用。

5061

被折叠的 条评论
为什么被折叠?



