计算机编码格式

2015.11.11

引入

今天遇到了一个txt编码格式的问题,这也是我一直想要弄明白的问题,因此查阅了一些资料,现做一下总结。

常见编码格式

  • ASCII
    全称American Standard Code for Internet Interchange,美国 信息互换代码。在计算机早期,世界上所有文档都使用ASCII编码格式来保存英文文档。


    ASCII
  • GB2312
    等中国引入计算机时,当初八位字节所表示的字符范围根本不够用。所以,规定两个大于127的字符连在一起表示一个汉字。这样可以表示出6000+的简体汉字。可以将GB2312视为ASCII的扩展。目前国内的简体汉字大都用这个编码格式进行编码

  • GBK
    可是中国汉字实在太多,繁体字表示我也要用编码。没办法,将GB2312的规则改一下,凡是第一个字符是127以后的,不管第二个字符是不是127以后的都表示为一个中国汉字,这样可以多出20000+的汉字,如此中国汉字都有对应的编码表示了。同时为了也将少数民族的文字加入进来,又将GBK扩展为GB18030.

  • UNICODE
    国际标准化组织ISO开始重视这个问题了,它废止了全球各地的编码方案,而将字符编码位数由8位变成16位,理论上可以表示65535个不同的字符。保存ASCII,低8位仍然表示ASCII字符,高8位则空闲。这样保存纯半角英文文档时,将会浪费磁盘一半的空间。另外,将GBK变成UNICODE时,没有一个简单的算法可以实现转换,只能通过查表来解决。

  • UTF-8 UTF-16
    ISO提出UNICODE后,计算机网络随之兴起,迎来的就是数据传输的问题。顾名思义,UTF8 就是每次8个位传输数据,而** UTF16** 就是每次16个位,只不过为了传输时的可靠性,从UNICODE到 UTF时并不是直接的对应,而是要过一些算法和规则来转换。

虽然UTF系列可以很好囊括所有世界字符,但随之而来就是存储空间的问题,如果文档是为国人准备的,使用GB2312也是可以的。另外,编写网页时,使用统一的编码UTF-8最好。

编码格式转换

使用Notepad++转换格式简直是神器,谁用谁知道。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 可以看我的博客 lmwen.top 或者订阅我的公众号 简介有稍微接触python的人就会知道,python中...
    ayuLiao阅读 3,152评论 1 5
  • 编码问题一直困扰着开发人员,尤其在 Java 中更加明显,因为 Java 是跨平台语言,不同平台之间编码之间的切换...
    x360阅读 2,506评论 1 20
  • 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是...
    艾小天儿阅读 17,505评论 0 2
  • 上帝永远是那么公平公正 那么有耐性有肚量 赏罚分明 当,我们的火气过重时,上帝便 在我们头顶放点冰块 我们的上空便...
    乡村诗人阅读 275评论 2 14
  • 前几个星期的周末都是高温,一直宅在家里看书,感觉时间过的好快。 面对着一堆要读的书,总感觉时间不够用。 前两天又是...
    豆芽菜2016阅读 322评论 0 0