%u编码


Escape/Unescape加密解码/编码解码,又叫%u编码,从以往经验看编码字符串出现有"u",它是unicode编码,那么Escape编码采用是那一种unicode实现形式呢。其实是UTF-16BE模式。这样一来问题非常简单了。 Escape编码/加密,就是字符对应UTF-16 16进制表示方式前面加%u。Unescape解码/解密, 就是去掉"%u"后,将16进制字符还原后,由utf-16转码到自己目标字符。如:字符“中”,UTF-16BE是:“6d93”,因此Escape是 “%u6d93”,反之也一样!因为目前%字符,常用作URL编码,所以%u这样编码已经逐渐被废弃了!

参考

PHP解码

1 function utf8_urldecode($str) 
2 {
3     $str = preg_replace("/%u([0-9a-f]{3,4})/i","&#x\\1;",urldecode($str));
4     return html_entity_decode($str,null,'UTF-8');;
5 }

 参考

"&#x"开头的,后边跟16进制的数, 是浏览器识别的编码方式,  这个函数将"%u" 换做了 "&#x", 输出到浏览器就自动转换成汉字显示了


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM