UCS-4 range (hex.) UTF-8 octet sequence (binary) 0000 0000-0000 007F 0xxxxxxx 0000 0080-0000 07FF 110xxxxx 10xxxxxx 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx 0001 0000-001F FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 0020 0000-03FF FFFF 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 0400 0000-7FFF FFFF 1111110x 10xxxxxx ... 10xxxxxx
A)英文字符‘a’,其unicode的十六进制值为0X61,则其UTF-8编码后的十六进制值为 1 ?
参考答案 0X61
B)中文字符‘腾’,其unicode的十六进制值为0X817E,则其UTF-8编码后的十六进制值为 2 ?
参考答案 0XE885BE
C)中文字符‘讯’,其unicode值经过UTF-8编码之后为0XE8AEAF,则请问其unicode的十六进制值是 3 ?
参考答案 0X8BAF
解析:
A、0X61在0X00-0X7F之间,所以和ASCII编码完全相同,所以UTF-8编码后的值还是0X61。
B、0X817E在0X0800-0XFFFF之间,使用了3字节模版 1110xxxx 10xxxxxx 10xxxxxx,将0X817E写成二进制1000 0001 0111 1110,用这个比特流依次替代模版中的x,得到11101000 10000101 10111110,即E885BE。
C、0XE8AEAF的二进制为11101000 10101110 10101111是3字节模版,则unicode二进制值为1000 1011 1010 1111,十六进制值为0X8BAF。
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/zyq522376829/article/details/47170349