响应式网站 推广效果,wordpress标签404,物业公司网站建设方案,自建网站和第三方平台的区别python字符串编码解码基础知识
python通过ord获取字符c的unicode的编码值#xff0c;为整数。通过chr(i)获取i对应的unicode的字符。通过str.encode()将字符串编码为原始字节#xff0c;b.decode()将原始字节解码为字符串。
1 字符串基础知识
python通过ord获…python字符串编码解码基础知识
python通过ord©获取字符c的unicode的编码值为整数。通过chr(i)获取i对应的unicode的字符。通过str.encode()将字符串编码为原始字节b.decode()将原始字节解码为字符串。
1 字符串基础知识
python通过ord©获取字符c的unicode的编码值为整数。
通过chr(i)获取i对应的unicode的字符。
1.1 字符编码方法
ASCII码定义0-127的字符代码每个字符存储在一个8位的字节中。
#内置函数描述1ord©返回字符c的unicode的编码值为整数2chr(i)返回unicode编码为i的字符3help(encodings)先import encodings再help查看python支持的编码名称
从字符串编码为原始字节从原始字节解码字符串。
#名称描述1编码根据编码名称把字符串翻译为原始字节2解码根据编码名称把原始字节翻译为字符串
示例 ord(梯)
26799chr(26799)
梯1.2 python字符串类型
#版本描述1py2.xstr表示8位文本和二进制数据2unicode表示宽字符unicode文本3py3.xstr表示unicode文本4bytes表示二进制数据5bytearray可变的bytes类型
1.3 文本和二进制文件
#模式描述1bytes和二进制模式处理图像文件、解压的打包数据、设备数据流2str和文本模式用于程序输出、HTML、CSV、XML文件
2 python3.0的字符串应用
2.1 常量和基本属性
#项目描述1‘xxx’和”xxx”创建str单字节或者更长的字节存放字符串2‘’’xxx’’’和”””xxx”””创建str3‘xxx’和”xxx”前面加b或B创建bytes单字节存放字符对应原始字节的整数4‘’’xxx’’’和”””xxx”””前加b或B创建bytes
示例 bbabc # 返回每个字符的原始字节的整数sabctype(b),type(s)
(class bytes, class str)b,s
(babc, abc)b[0],s[0]
(97, a)b[1:],s[1:]
(bbc, bc)list(b),list(s)
([97, 98, 99], [a, b, c])
# bytes 和 str 不可修改b[0]d
Traceback (most recent call last):File pyshell#32, line 1, in moduleb[0]d
TypeError: bytes object does not support item assignments[0]d
Traceback (most recent call last):File pyshell#33, line 1, in modules[0]d
TypeError: str object does not support item assignmentcb
abc
defc
b\nabc\ndef\n2.2 转换
#项目描述1str.encode()和 bytes(s,encoding)编码把字符串转换为bytes形式根据str创建一个bytes。2bytes.decode()和 str(b,encoding)解码把bytes转换为字符串形式根据bytes创建一个str。3sys.getdefaultencoding()查看系统默认编码
描述
str.encode(encoding)根据编码名encoding将字符串str编码为原始字节encoding默认为utf-8。
bytes(s,encoding)根据编码名encoding将字符串s编码为原始字节encoding必填。
bytes.decode(encoding)根据编码名encoding将原始字节解码为字符串encoding默认为utf-8。
str(b,encoding)根据编码名encoding将原始字节解码为字符串encoding不填则打印原始字节。
示例 import sys
# 查看系统sys.platform
win32
# 查看系统默认编码sys.getdefaultencoding()
utf-8s梯
# encode 和 bytes 编码字符串转原始字节s.encode()# encoding 默认为 utf-8
b\xe6\xa2\xafs.encode(encodingutf-8)
b\xe6\xa2\xafs.encode(encodinggbk)
b\xcc\xddbytes(s,encodinggbk)
b\xcc\xddbytes(s,encodingutf-8)
b\xe6\xa2\xaf
# decode 和 str 解码原始字节转字符串bb\xe6\xa2\xafb.decode()
梯str(b,encodingutf-8)
梯
# str() 没有 encoding 则 进行打印str(b)
b\\xe6\\xa2\\xaf
# bytes() 没有 encoding 则 报错bytes(s)
Traceback (most recent call last):File pyshell#62, line 1, in modulebytes(s)
TypeError: string argument without an encoding