Python 字符串前面加u,r,b的含义

Python中,u表示unicode string,表示使用unicode进行编码,没有u表示byte string,类型是str,在没有声明编码方式时,默认ASCI编码。如果要指定编码方式,可在文件顶部加入类似如下代码:

#coding=utf-8

utf-8是一种支持中文的编码格式。

字母前加r表示raw string,也叫原始字符串。一般用在一下两个方面:

1、正则表达式用于处理正则表达式时,规避反斜杠的转义

Python中u和r

2、系统路径如下面的路径,使用r就防止了\t的转义

Python中u和r

扩展资料:

python在执行代码的时候,所有的计算都会由内存进行,此时的编码格式是unicode,因为世界上存在着多种编码方式,同一个二进制数字可以被解释成不同的符号。为了统一编码格式,便于计算,就出现了unicode。

具体如下:

1、字符串前加 u

例:u"我是含有中文字符组成的字符串。"

作用:

后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。

 

2、字符串前加 r

例:r"\n\n\n\n”  # 表示一个普通生字符串 \n\n\n\n,也就是原始字符串,而不表示换行了。

作用:

去掉反斜杠的转义机制。

(特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。 )

应用:

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

 

3、字符串前加 b

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

作用:

b" "前缀表示:后面字符串是bytes 类型。

用处:

网络编程中,服务器和浏览器只认bytes 类型数据。

如:send 函数的参数和 recv 函数的返回值都是 bytes 类型

附:

在 Python3 中,bytes 和 str 的互相转换方式是
str.encode('utf-8')
bytes.decode('utf-8')

 

 

转载:https://www.cnblogs.com/liangmingshen/p/9274021.html

转载:http://blog.sina.com.cn/s/blog_163c4ed910102y76u.html

 

posted @ 2020-05-20 10:49  anna1210  阅读(353)  评论(0)    收藏  举报