绪论
看博客看到一件比较好玩的事情,以前从来不知道编码是这样转换的。
正文
规则
Unicode | UTF-8 |
---|---|
0000 - 007F | 0xxxxxxx |
0080 - 07FF | 110xxxxx 10xxxxxx |
0800 - FFFF | 1110xxxx 10xxxxxx 10xxxxxx |
说明
列如“汉”字的Unicode编码是6C49。
6C49在0800 - FFFF之间,所以要用三字节模板:1110xxxx 10xxxxxx 10xxxxxx。
将6C49写成二进制是:0110 1100 0100 1001,将这个比特流按三字节模板的分段方法分为:0110 110001 001001。
依次代替模板中的x,得到:1110-0110 10-110001 10-001001,即E6 B1 89,这就是其UTF-8编码。
是不是有点意思哈。
(若有什么错误,请留言指正,3Q)