位置: 编程技术 - 正文
推荐整理分享Python中的字符串操作和编码Unicode详解(python中的字符串必须写在一对双引号中),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:python中的字符串的英文,Python中的字符串,python中的字符串可变吗,python中的字符串切片,Python中的字符串类型,python中的字符串的英文,Python中的字符串类型,Python中的字符串,内容如对您有帮助,希望把文章链接给更多的朋友!
本文主要给大家介绍了关于 Python中的字符串操作和编码Unicode的一些知识,下面话不多说,需要的朋友们下面来一起学习吧。
字符串类型
str:Unicode字符串。采用''或者r''构造的字符串均为str,单引号可以用双引号或者三引号来代替。无论用哪种方式进行制定,在Python内部存储时没有区别。
bytes:二进制字符串。由于jpg等其他格式的文件不能用str进行显示,所以才用bytes来表示,bytes的每个字节为一个0-的数字。如果打印的时候,Python会把能够用ASCII表示的部分显示为ASCII,这样方便阅读。bytes几乎支持除了格式化以外的所有str的方法,甚至包括了re模块
bytearray() :二进制可原地变动的字符串。
utf-8编码范围
范围 字节数 存储格式 0x~0xF (0 ~ ) 1字节 0xxxxxxx 0x~0xFF( ~ ) 2字节 xxxxx xxxxxx 0x~FFFF( ~ ) 3字节 xxxx xxxxxx xxxxxx 0x~1FFFFFF( ~ ) 4字节 xxx xxxxxx xxxxxx xxxxxx 0x~0x3FFFFFF 5字节 xx xxxxxx xxxxxx xxxxxx xxxxxx 0x~0x7FFFFFFF) 6字节 x xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx字节顺序标记BOM
BOM是byte order marker的缩写,
指定编码写入时的规则
Python在使用'utf-8'编码写入文件时不会写入BOM头,但是如果指定编码'utf-8-sig'则会迫使Python写入一个BOM头。
使用'utf--be'不会写入一个BOM头,但是采用'utf-'则会写入一个BOM头。
读取时的规则
如果指定了正确的编码,那么BOM会忽略,否则BOM会显示为乱码或者返回异常。
编码与解码
chr和ord 把Unicode硬编码进字符串中。'xhh':用2位十六进制来表示一个字符
'uhhhh':用4位十六进制来表示一个字符:
'Uhhhhhhhh':用8位十六进制来表示一个字符
>>> s = 'pyxhu4e2don' #'pyth中on'
str和bytes, bytearray进行转换
str.encode(encoding='utf-8')
bytes(s,encoding='utf-8')
bytes.decode(encoding='utf-8')
str(B, encoding='utf-8')
bytearray(string, encoding='utf-8')
bytearray(bytes)
文档编码声明
Python默认使用utf-8编码。
# -*- coding: latin-1 -*- :表示声明文档为latin-1编码。
帮助函数
总结
友情链接: 武汉网站建设