带你读《全景揭秘字符编码》之六:六、字符编码模型(5) https://developer.aliyun.com/article/1240929?groupCode=tech_library
6.6、第四层:字符编码方案 CES
字符编码方案也称作“序列化格式“( Serialization Format ),指的是将字符编号进行编码之后的码元序列映射为字节序列(即字节流)的形式,以便经过编码后的字符能在计算机中进行处理、存储和传输。
字符编码方式CEF有点像我们数据库结构设计里的逻辑设计,而这一层编码方案CES就像是物理设计了,将码元序列映射为跟特定的计算机系统平台相关的物理意义上的二进制过程。
这里大家可能又会有疑问:为什么二进制的码元序列和实际存储的二进制又会不一样呢?
这主要是计算机的大小端序造成的,具体端序内容会在UTF-16编码部分详细介绍。
“大小端序名词”出自Jonathan Swift的《格列夫游记》一书 :
所有人都认为,吃鸡蛋前,原始的方法是打破鸡蛋较大的一端。可是当今皇帝的祖父小时候吃鸡蛋,一次按古法打鸡蛋时碰巧将一个手指弄破了,因此他的父亲,当时的皇帝,就下了一道敕令,命令全体臣民吃鸡蛋时打破鸡蛋较小的一端,违令者重罚。
老百姓们对这项命令极为反感。历史告诉我们,由此曾发生过六次叛乱,其中一个皇帝送了命,另一个丢了王位…关于这一争端,曾出版过几百本大部著作,不过大端派的书一直是受禁的,法律也规定该派的任何人不得做官。
▲ 图片引用自《面试必考,史上最通俗大小端字节序详解》
对大小端字节序问题感兴趣的可以详读:《脑残式网络编程入门(九):面试必考,史上最通俗大小端字节序详解》一文。