为什么不能将这些十六进制转换为utf-8?

时间:2019-06-10 09:47:34

标签: unicode binary hex

十六进制:0xe0 0x3e 0x38 0x2e 0x7e 0x63 0x78 0x66

十六进制:e0 => DEC:224

十六进制:3e => DEC:62

等等

如果我将每个十六进制转换为十进制,然后在“ unicode表”中查找十进制。我得到前两个十六进制等于:

E0 = unicode symbol: 'à'3E = unicode symbol: '>'

这很好,所以当我能够手动进行转换时,为什么该在线网站解码无法转换十六进制!

https://onlineutf8tools.com/convert-hexadecimal-to-utf8

hex-to-utf8 conversion error

2 个答案:

答案 0 :(得分:1)

这些字节不代表UTF-8编码。必须使用UTF-8编码的0xE0后跟两个字节,并设置7位和6位清零(10xxxxxx 2 )。 0x3e无效,因此出现“无效的继续字节”错误消息。

多字节序列0xC3 0xA0在UTF-8中代表à。请尝试以下操作:

0xc3 0xa0 0x3e 0x38 0x2e 0x7e 0x63 0x78 0x66

推荐阅读:https://en.wikipedia.org/wiki/UTF-8

答案 1 :(得分:0)

您显示的十六进制序列不是有效的UTF-8,实际上是ISO-8859-1(Latin-1)或Windows-1252

在这两种编码中,十六进制序列0xe0 0x3e 0x38 0x2e 0x7e 0x63 0x78 0x66代表相同的字符序列à>8.~cxf