1
当我在浏览器地址栏中放置一些非字母数字符号时,他们得到了网址编码。例如,http://ru2.php.net/manual-lookup.php?pattern =привет变成http://ru2.php.net/manual-lookup.php?pattern=%EF%F0%E8%E2%E5%F2。在浏览器地址栏中进行网址编码
问题是:这两个百分比前缀的十六进制数字是什么意思?
当我在浏览器地址栏中放置一些非字母数字符号时,他们得到了网址编码。例如,http://ru2.php.net/manual-lookup.php?pattern =привет变成http://ru2.php.net/manual-lookup.php?pattern=%EF%F0%E8%E2%E5%F2。在浏览器地址栏中进行网址编码
问题是:这两个百分比前缀的十六进制数字是什么意思?
它们是西里尔文的Windows 1251编码的 字节。由于它们只有6个,所以它们不能是UTF-8,因为它需要12个字节的UTF-8用于6个字符的西里尔字母。
CP1251的代码图可以在这里找到:http://en.wikipedia.org/wiki/Windows-1251。
就像20是一个空格的十六进制,每个西里尔字符都有它的数值,可以表示为两个十六进制数字。
谢谢!我无法弄清楚的问题:例如有多少个字节代表F2?它是如何计算的? – zapadlo
%F2表示一个字节,CP1251中的字符т。 – bmargulies
是这个数字 - F2 - 只是CP1251中的字符数(序列号)? – zapadlo