您的位置:首页 > 理论基础

计算机编码原理 以Python为例的解析

2018-01-17 18:57 281 查看
美国人发明了uscii,只包括数字字符和一些字符。于是中国人就制定了GB2312。后来为了统一世界的语言制定了UTF-8。
在Pyhton中一个方法是ord():将字符转换为十进制码,这个十进制码就代表编码表中字符的编码, A的编码为65。
>>> '\u4e2d\u6587'
'中文'
在python中输入以前编码会输出中文,\u4e2d\u6587其实代表十六进制,十进制为20013 25991,这些数字又可以有不同的字节数,随编码格式的不同变化,例如utf-8为三个字节(除偏僻中文),gbk为两个字节。比如用utf8,20013转换为字节流就为"\xe4\xb8\ad",用gbk 转换为"\xd6\xd0",但不管如何转换最终都是十进制20013 十六进制\u4e2d。
具体20013是如何转换为\xe4\xb8\ad 的编码规则为
   Unicode符号范围                   |   UTF-8编码方式


     (十六进制) (十进制)     |   (二进制)

  —————————————————————————————————-

   0000 0000-0000 007F (0-127) |    0xxxxxxx

   0000 0080-0000 07FF (128-2047) |    110xxxxx 10xxxxxx

   0000 0800-0000 FFFF (2048-65535) |   1110xxxx 10xxxxxx 10xxxxxx

   0001 0000-0010 FFFF (65536-1114111) |    11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

参考:https://www.cnblogs.com/leesf456/p/5317574.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python C