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

u/U:表示unicode字符串

不是仅仅是针对中文, 可以针对任何的字符串,代表是对字符串进行unicode编码。
一般英文字符在使用各种编码下, 基本都可以正常解析, 所以一般不带u;但是中文, 必须表明所需编码, 否则一旦编码转换就会出现乱码。 建议所有编码方式采用utf8。在python3中,字符串默认为unicode字符串。

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

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

r/R:表示非转义的原始字符串。

与普通字符相比,其他相对特殊的字符,其中可能包含转义字符,即那些反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。而如果是以r开头,那么说明后面的字符,都是普通的字符了,即如果是“\n”那么表示一个反斜杠字符,一个字母n,而不是表示换行了。
以r开头的字符,常用于正则表达式,对应着re模块。

b:表示bytes类型字符串

python3.x里,默认的str是(py2.x里的)unicode,bytes是(py2.x)的str,b”“前缀代表的就是bytes
python2.x里,b前缀没什么具体意义, 只是为了兼容python3.x的这种写法

原文地址:https://www.cnblogs.com/eustoma/p/10204370.html

时间: 01-01

Python3 字符串前面加u,r,b的含义的相关文章

Python 字符串前面加'r'

python中r的用法,r'str'表示raw string,既忽略转义字符.因为和windows不一样,python中认为\就是转义字符escape sequences的标志. 在python2.x中,unicode字符串需要在字符串前加u来表示,比如 str=u'汉字' 而在python3.x中,unicode字符串已经是默认格式,因此不再需要加u, 如果你加了u,会报语法错误: str=u'汉字' SyntaxError: invalid syntax Python 字符串前面加'r'

[Python][小知识] Python字符串前 加 u、r、b 的含义

1.字符串前加 u 例:u"我是含有中文字符组成的字符串." 作用:后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码. PS:不是仅仅是针对中文, 可以针对任何的字符串,代表是对字符串进行.一般英文字符在使用各种编码下,,基本都可以正常解析, 所以一般不带u.但是中文有事会出现问题,就要想以前在学校上机敲代码时候一样,优盘一插,源码一拷贝,一打开,中文部分全成框框乱码了...贼尴尬... 2.字符串前加 r 例:r&

Python3 字符串

字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello World!' var2 = "Runoob" Python 访问字符串中的值 Python 不支持单字符类型,单字符也在Python也是作为一个字符串使用. Python 访问子字符串,可以使用方括号来截取字符串,如下实例: 实例(Python 3.0+) #!/usr/bin/python3 var1 = '

python3——字符串基础

字符串可以使用一对单引号或一对双引号指定起止位置,两种方式指定的字符串完全等价. 如'Hello'和"World" 可以用三引号("""或''')指定多行字符串,其中可自由使用单.双引号而不需转义. 如'''"What's your name?," I asked.''' 字符串过长不方便写在一行时,可以使用反斜杠跨行而不增加换行符. 如: "abcde\ fgh" 等价于"abcdefgh" 如

python3 字符串属性总结(一)

python3 字符串属性 1 >>> a='hello world' 2 >>> dir(a) 3 ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__',

Python中文编码问题(字符串前面加'u')

中文编码问题是用中文的程序员经常头大的问题,在python下也是如此,那么应该怎么理解和解决python的编码问题呢? 我们要知道python内部使用的是unicode编码,而外部却要面对千奇百怪的各种编码,比如作为中国程序经常要面对的gbk,gb2312,utf8等,那这些编码是怎么转换成内部的unicode呢? 首先我们先看一下源代码文件中使用字符串的情况.源代码文件作为文本文件就必然是以某种编码形式存储代码的,python默认会认为源代码文件是asci编码,比如说代码中有一个变量赋值: s

UNITY如何动态加载R素材?

Daydream/Unity技術: Unity动态加载R素材-- 使用ScriptableObject和AssetBoudle by 高煥堂 一.背景说明:   如果您还不熟悉R素材与A素材,请您参阅:Real素材的有机次序.   大约半年前,我为了想参与与HTC 的Vive X加速器计划而设计了<VR+医疗MRI行业平台>.<R素材>概念和名词也是我当时提出的.这样的<VR行业平台>架构也适合于建立特性产业的素材和App平台.例如,台湾的莺歌镇是陶瓷/琉璃设计小城,台

字符串大数加减运算问题

这里自己利用STL模板中的容器和链表实现字符串大数加减运算. 1 #include<iostream> 2 #include<vector> 3 #include<list> 4 using namespace std; 5 6 list<char> Input_Number(list<char> ilist)//输入链表字符串,以‘#’作为结束符 7 { 8 cout<<"please Input string ,end

Python3字符串方法总结

总算统计完了,他奶奶的,一定要努力啊!by 暗黑骑士 1.strip() 官方说明: def strip(self, chars=None): # real signature unknown; restored from __doc__ """ S.strip([chars]) -> str Return a copy of the string S with leading and trailing whitespace removed. If chars is g

scp报错:not a regular file,解决方法:加参数 -r

命令:scp  -P1234  /data/aa   [email protected]:/data 文件结构:/data/aa/yearmonth=2015-09 报错:not a regular file 报错原因:这是一个文件夹,而不是文件,因此要加参数-r 正确命令:scp -r -P1234  /data/aa   [email protected]:/data