【EverEdit用户手册】初识编码

 

 

【EverEdit用户手册】初识编码

应用场景

  由于世界语言文字的多样性,不同国家的文字并不能像英文一样以ASCII码(ANSI)方式存储在磁盘上,于是就演化出了UTF-8, UTF-16,GB2312,GBK,BIG5等编码。

注:本文仅是一个引子,并不对编码进行深入探讨!

不同编码在磁盘上的存储方式

原始文本


上图是一行英文文本+一行中文,下面我们来看下不同的编码下,其在磁盘上的存储方式。

GB2312编码


从图中可以看到,中文部分的编码两个字节代表1个字,且每个字节的编码都不在ASCII编码区域。

UTF-8编码


可以看到,对中文部分的编码,UTF-8和GB2312完全不同,但英文字符保持了一致。

UTF-16编码


上图中,英文部分,1个字符也使用了2字节编码,中文也还是1个字符两个字节存储,并在文件结尾使用“FF”来标记结束。

UTF-16 Big Endian(大端)编码


可以看到,与UTF-16编码的差别是,每个字符的两个字节是相反的!

后记

要把这么几十上百种不同的编码,从磁盘上读取出来,并在编辑器中显示为用户可读的文字,编辑器要做的事可真不简单,这也是为什么很多编辑器,仅支持寥寥几种编码方式。


免责声明:本文中所用到数据样例均来源于: 互联网公开信息、豆包AI、Python Faker库生成的伪数据、或作者随机编写,其目的仅用于编辑器软件的使用解说,如有雷同涉及侵权或隐私,请联系作者删除!


文档作者声明:本文档仅用于学习交流,未经作者许可,不得将本文档用于其他目的。
Copyright © 2022~2024 All rights reserved.

posted @ 2024-10-31 13:01  tyysoft  阅读(39)  评论(0)    收藏  举报