网站大量收购独家精品文档,联系QQ:2885784924

Python中文乱码详解[定义].pdfVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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)

肖四妹学教育 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档