Python 字符串前面加u,r,b的含义
1、字符串前加 u
str=u'中文字符串'
作用:
解决中文乱码问题
后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面
2、字符串前加 r
s=r'\tt'
print(s)
\tt
s='\tt'
print(s)
t
在字符串赋值的时候 前面加’r’可以防止字符串在时候的时候不被转义
原理是在转义字符前加’\’
字母前加r表示raw string,也叫原始字符串常量。一般用在一下两个方面:
1、正则表达式
用于处理正则表达式时,规避反斜杠的转义
search=re.compile(r'\s*')
2、系统路径
如下面的路径,使用r就防止了\t的转义
path=r'c:\text'
“r”是“raw”的简写。去查单词,意思是“未加工的,原料”。因此,不难想象,在python字符串前面,表示“按原样输出字符串”,也就是说字符串里的元素,原来什么样子,还是什么样子,不变。python不会去对一些符号转义
3、字符串前加 b
例: response = b’
Hello World!
’ # b’ ’ 表示这是一个 bytes 对象作用:
b" "前缀表示:后面字符串是bytes 类型。
用处:
网络编程中,服务器和浏览器只认bytes 类型数据。
如:send 函数的参数和 recv 函数的返回值都是 bytes 类型
附:
在 Python3 中,bytes 和 str 的互相转换方式是
str.encode(‘utf-8’)
bytes.decode(‘utf-8’)