- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Python中文乱 码详 解
本文目的
为 Python程序员简练地介绍字符编码相关支持, 彻底解疑 ? Python中文乱码 ?,? Python 2与 Python 3字
符编码差异 ?等相关问题。使用其他语言的程序员可作参考,道理都是相通的,不过具体处
理方式不同罢了。
痛苦的根源
起因
计算机不能直接识别 字符 (文本的最小组成单位)。
字形:
字的形状,又叫字图。文字的抽象形状, ?小短横线 ?就是汉字 ?一 ?的字形。
字符:
抽象符号和数字成对编码用于在计算机系统中表示的信息单位。 虽然字符本身
是抽象的, 但它一旦存在于计算机系统中, 它就对应了某种特定字符编码方式。
字符 ?一 ?在 GBK编码中是 0xD2BB。
字体:
字的形体。草书、行书、楷书,都叫字体。计算机中的字体如:华文行楷,微
软雅黑。
解决办法
但是计算机可以识别二进制数,于是采用一个二进制数来指代一个 字符 。
结果
很多人都想到了这个解决办法。 比如拉丁字母, 他们想到了用十进制 65来表示字符 ’A。’
不同国家或者不同组织, 他们因为事先没有商量, 都用了同一个整数来表示他们自己
国家里的某个文字。在不相互沟通的时候相安无事,但相互沟通时,就出现了问题。
编码与解码
先记住,任何信息,存放在存储介质中时,都是二进制流(比特流)。
编码过程 :字符转换成二进制流表示的过程。
解码过程 :二进制流转换成字符的过程。
编码规则 :编码和解码过程中遵循的规则,例如 GBK编码, UTF-8编码。
字符编码的来龙去脉
ASCII
美国信息交换标准代码,最早的通用编码方案。开始时,只用 7个比特位就表示完了所有拉
丁文字母和一些符号, 共 128个。 后来发现不够用, 又启用了第 8位, 刚好一个字节的长度,
共 256个字符。
但是,不同的公司 /组织把这扩展出来的 128个 码位 指派给了不同的字符, 文档交流就困难了。
于是 ANSI这个组织站出来了,制定了 ANSI标准。
而且人们也发现, ASCII这种单字节(因为它占 8个比特位)编码满足不了更多的字符需求,
那必须得用多个字节编码。多字节字符集( MBCS)概念就诞生了。
ANSI
美国国家标准协会认可的标准。注意,它是一种标准, 而不是某种具体编码,可以看做是编
码的一种分类。 ANSI的标准就是, ASCII码占用的码位及其所指代的字符不许改变,剩下的自
己扩展。
中国人在这个规定上有自己的扩展 (如GBK),英国人也有自己的扩展 (如 ISO-8859-1,即 latin-1)。
所以 ISO-8859-1和 GBK都可以称之为 ANSI编码,因为它们符合 ANSI规定。以 Windows系统为例,
中文系统中所指的 ANSI编码就是 GBK,英文系统中的 ANSI编码就是 ISO-8859-1。
MBCS
多字节字符集 (Multi-Byte Character Set),采用不定长度可以是一个字节,也可以是两个字节,也可
以是三个字节来进行编码。大多数情况下 2个字节就够用了,汉字就分配两个字节,称之为
DBCS(Double-Byte Chactacter Set)。
在 Linux系统中看得到 MBCS说法,在 Windows中呢?其实就是 ANSI,ANSI只规定了第一个字节的
位置是 ASCII,超出这个范围的,肯定也是多字节的了。
CodePag
文档评论(0)