万户网站天下,免费网页在线制作,网店营销模式,wordpress newsplus作者#xff1a;俊达
字符和编码
字符 字符是符号#xff0c;是人们用于交流的各类符号#xff0c;如26个英文字母、汉字、标点符号、数学运算符、其他语言的字母和符号。 编码 编码是计算机中以二进制方式存储字符的方式。每个字符都有一个对应的编码值#xff0c;计算机…作者俊达
字符和编码
字符 字符是符号是人们用于交流的各类符号如26个英文字母、汉字、标点符号、数学运算符、其他语言的字母和符号。 编码 编码是计算机中以二进制方式存储字符的方式。每个字符都有一个对应的编码值计算机使用这些编码值来存储和处理文本信息。 字符集 字符集是字符和编码的映射表。如何将字符以二进制的方式存储以及如何将二进制数据还原成人们认识的符号字符字符集起了关键的作用每个字符都有一个唯一的编码值。
常见的字符集
ASCII
单字节是一种最早的字符集和编码方式。使用007F总共128个字符。
GBK
1995年12月发布的汉字编码国家标准是对GB2312编码的扩充对汉字采用双字节编码。 GBK字符集共收录21003个汉字包含国家标准GB13000-1中的全部中日韩汉字和BIG5编码中的所有汉字。 gbk编码表可以从网上找到如https://www.qqxiuzi.cn/zh/hanzi-gbk-bianma.php 下图是部分汉字的GBK编码
Unicode
Unicode(统一码是为了解决传统的字符编码方案的局限而产生的它为每种语言中的每个字符设定了统一并且唯一的二进制编码以满足跨语言、跨平台进行文本转换、处理的要求。 Unicode的编码方式 utf8 使用变长的方式编码unicode字符。使用1-4个字节来编码。 汉字使用UTF8编码占用3个字节。
一些例子
我们可以借助Python这里用的是python 2.7方便地观察字符的编码和解码。 汉字“中国”的GBK编码是 D6D0 B9FA u中国.encode(gbk)
\xd6\xd0\xb9\xfa汉字“中国”的UTF8编码是 E4B8AD E59BBD u中国.encode(utf8)
\xe4\xb8\xad\xe5\x9b\xbd汉字“中国”的Unicode是 4E2D 56FD u中国
u\u4e2d\u56fd数据E4B8ADE59BBD以UTF8编码解码得到汉字字符“中国”的Unicode \xe4\xb8\xad\xe5\x9b\xbd.decode(utf8)
u\u4e2d\u56fd数据E4B8ADE59BBD以GBK编码解码
-- ADE5不是合法的GBK编码默认情况下报错\xe4\xb8\xad\xe5\x9b\xbd.decode(gbk)
Traceback (most recent call last):File stdin, line 1, in module
UnicodeDecodeError: gbk codec cant decode bytes in position 2-3: illegal multibyte sequence-- 忽略解码时的错误得到3个Unicode字符\xe4\xb8\xad\xe5\x9b\xbd.decode(gbk, errorsreplace)
u\u6d93\ufffd\u6d57-- 看起来像乱码。其中”“是因为GBK无法解码ADE5使用默认字符替换得来。print u\u6d93\ufffd\u6d57
涓浗产生乱码的一个原因是解码时使用的字符集不对。
更多技术信息请查看云掣官网https://yunche.pro/?tyrgw