UTF8编码

最近项目中经常用到UTF8编码以及BASE64操作。

 

于是有兴趣看看UFT8编码到底怎么回事。UTF8Ken ThompsonRob pike 两位大神完成的。

 

具体的实际上有一个表就可以弄明白了:

 

0XXXXXXX

110XXXXX 10XXXXXX

1110XXXX 10XXXXXX 10XXXXXX

11110XXX 10XXXXXX 10XXXXXX 10XXXXXX

 

UTF8编码1-4byte长度表示所有的Unicode。表格中的数字,表示固定的占位符,X表示真实的值。

 

那么可以表达的长度分别为:

1byte 2^7 -1

2byte 2^11 -1

3byte 2^16 -1

4byte 2^21 -1

 

表示方式不复杂,有时间看看.NET/mono的具体实现。

 

你可能感兴趣的:(utf8)