目录

一种新的编码方式设想

同种文字一般是连续的

字符集 xxcode

同时也是一种编码格式

用定长 3 字节表示一个字符

000000-fffefe

第一个字节:分区

使用第一个字节代表分区

同种文字应放在同一个分区

可取值 00-ff

2、3字节:码位

不同分区的码位可以有不同长度

1~2字节,1字节用00补全

示例

00f9af 09afe3 09ef32 af0231

新的编码方式 xxtf

由于同种文字一般是连续的,所以在连续文本中,可以省略分区字节

如:09afe3 09ef32 097382
可以省略为 afe3 ef32 7382

如果有其他分区的字符怎么办?

我们定义一个引导(转义)符号ff

一串同种文字可以表示为
ff+分区+码位1+码位2+...

不同分区字符
ff+分区1+码位1+码位2+...+ff+分区2+码位1+码位2+...

例子:0100af 0100af 0100af 0100af 09afe3 09ef32 09afe3 09ef32 09afe3 09ef32
xxtf: ff01 af af af af ff09 afe3 ef32 afe3 ef32 afe3 ef32

这里01分区只用1字节

ascii 字符的特殊处理

ascii 字符:000000-00007f

ascii 使用频率很高,且经常夹杂在其他语言文字中, 当前编码方式会频繁转换分区

我们想要无需转换分区就可使用ascii字符

解决:非ascii字符码位8000-feff

编码 空间
ascii ff0000-ff007f 128
1字节 ff0080-fffffe 256*127=32512
2字节 ff008000-fffffefe 256*127*255=8290560

例子:0100af 0100af 000067 0100af 0100af 09afe3 09ef32 09afe3 000067 09ef32 09afe3 09ef32
编码:ff01 af af 67 af af ff09 afe3 ef32 afe3 67 ef32 afe3 ef32