php - urlencode后的每个%XX代表一个字节?
本文介绍了php - urlencode后的每个%XX代表一个字节?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
中文urlencode后,每个%XX代表一个字节,是这样的吧?
所以urlencode('中')的结果是%XX%XX%XX(utf-8编码)
解决方案
对的,为了解决unicode的过于占用内存空间和扩展不变的问题,utf-8规范出现了。
对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。
对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。
也就是说utf-8的编码结果是变长的。中
字的utf-8编码为E4B8AD
,所以对应的urlencode为%E4%B8%AD
.
这篇关于php - urlencode后的每个%XX代表一个字节?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文