1

当我在浏览器地址栏中放置一些非字母数字符号时,它们会被 url 编码。例如http://ru2.php.net/manual-lookup.php?pattern =привет 变成http://ru2.php.net/manual-lookup.php?pattern=%EF%F0%E8%E2 %E5%F2

问题是:那两个以百分号为前缀的十六进制数字是什么意思?

4

1 回答 1

2

它们是 Cyrillic 的 Windows 1251 编码的字节。由于只有六个,它们不可能是 UTF-8,因为 6 个西里尔字母需要 12 个字节的 UTF-8。

CP1251 的代码表可以在这里找到:http ://en.wikipedia.org/wiki/Windows-1251 。

就像 20 是十六进制的空格一样,每个西里尔字符都有其数值,可以表示为两个十六进制数字。

于 2011-07-03T17:55:46.777 回答