为什么Degree符号与UTF-8不同于unicode?
根据:http://www.utf8-chartable.de/ 和 http://www.fileformat.info/info/unicode/char/b0/index.htm
unicode是B0但是UTF-8是C2 B0怎么来的???
NPE*_*NPE 21
UTF-8是一种使用可变字节数编码UTF字符的方法(字节数取决于代码点).
U + 0080和U + 07FF之间的代码点使用以下2字节编码:
110xxxxx 10xxxxxx
Run Code Online (Sandbox Code Playgroud)
其中x表示正在编码的代码点的位.
我们考虑U + 00B0.在二进制中,0xB0是10110000.如果将这些位替换为上面的模板,则得到:
11000010 10110000
Run Code Online (Sandbox Code Playgroud)
在十六进制中,这是0xC2 0xB0.
UTF-8 是 Unicode 的一种编码。UTF-16 和 UTF-32 是 Unicode 的其他编码。
Unicode 为每个字符定义了一个数值;度数符号恰好是 0xB0,即十进制的 176。Unicode 没有定义这些数值的表示方式。
UTF-8 将值编码0xB0为两个连续的八位字节(字节)和 values 0xC2 0xB0。
UTF-16 编码相同的值 as0x00 0xB0或 as 0xBo 0x00,具体取决于字节序。
UTF-32 将其编码为0x00 0x00 0x00 0xB0或0xB0 0x00 0x00 0x00,再次取决于字节序(我认为其他排序是可能的)。
Unicode(UTF-16 和 UTF-32)使用该0x00B0字符的代码点。UTF-8 不允许值大于 127 ( 0x007F) 的字符,因为每个字节的高位被保留以指示该特定字符实际上是多字节字符。
基本的 7 位 ASCII 直接映射到 UTF-8 的前 128 个字符。任何值大于 127 十进制(7F 十六进制)的字符都必须通过设置高位并添加 1 个或更多额外字节来“转义”来描述。
| 归档时间: |
|
| 查看次数: |
17368 次 |
| 最近记录: |