编码

作者: 核桃啊 | 来源:发表于2016-03-07 15:18 被阅读49次

计算机 底层都是二级制01组成的机器语言,我们屏幕上显示的字符等在计算机底层中也只是一串01代码而已,那么计算机怎么识别不同的字符呢,这就需要一个映射规则,哪个字符对应哪个01串。

ascii是由美国牛逼的XXX制定的规则,只制定了128个字母数字和符号的编码,一个字节。

但是这是美国的,为了显示汉字,我们国家制定了GBXXX标准,但是有那么多国家,这个国家用一个标准,那个国家用一个标准,就会产生混乱。

最后大家共同用Unicode,Unicode通常是两个字节,之前ascii编码的数字字母现在在Unicode中变成了两个字节,这样在大多是英文的传输中就会造成存储和传输浪费。

所以出现了可变长编码UTF-8,UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间

UTF-8编码有一个额外的好处,就是ASCII编码实际上可以被看成是UTF-8编码的一部分,所以,大量只支持ASCII编码的历史遗留软件可以在UTF-8编码下继续工作,因为英文字母在ascii中是一个字节,在utf-8中也是一个字节,而ascii不支持中文。

从上到下分别为GBK,unicode和utf编码,其中需要注意的是无法从GBK直接转化为utf-8,可以吧Unicode字符串encode("utf-8")到UTF8,可以把Utf-8字符串decode("utf-8")到Unicode字符串

注意

encode主要是把unicode encode到utf-8,decode主要是从utf-8到unicode,windows内核都是unicode

python在print时,会自动把字符串encode为sys.stdout.encoding,当python把一个已经encode的字符串再进行encode会报错

参考

unicode - python encoding utf-8 - Stack Overflow

相关文章

  • mysql编码

    查看编码 查看数据库编码 查看表编码 查看字段编码 修改编码格式 修改数据库编码格式 修改表编码 修改字段编码

  • 编码

    编码 编码格式(ASCII编码,GB2312编码(简体中文),GBK,ANSI编码,unicode,utf-8编码...

  • 网络安全编码书目录

    网络安全编码 Base64编码 MD5编码 SHA1编码 SHA256编码 HMAC编码

  • 前端开发文档规范

    HTML 编码规范 请查看HTML编码规范 CSS 编码规范 请查看CSS编码规范 JavaScript 编码规范...

  • 音频技术基础

    一、音频编码调制技术 根据编码方式的不同,音频编码技术分为三种:波形编码、参数编码和混合编码。一般来说,波形编码的...

  • 第五节课的第三个作业

    #编码 #编码

  • MPT 中对 key 的编码

    MPT中涉及到了三种编码,分别为keybytes编码、Hex编码和Compact编码。 keybytes 编码 这...

  • NSLocale

    国家编码语言编码货币符号货币编码 =============currentLocale==============...

  • 二维码学习笔记——编码

    数据编码 源数据编码 编码模式(模式指示符) 我们先来说说数据编码。QR码支持如下的编码: 数字编码(Numeri...

  • ruby编码说明【转】

    程序编码一般分几种情况: 源码文件编码 接收外部内容的编码 运行环境编码 操作系统编码 首先源码文件的编码,可以通...

网友评论

      本文标题:编码

      本文链接:https://www.haomeiwen.com/subject/knxvtttx.html