%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", 输出到浏览器就自动转换成汉字显示了

原文地址:https://www.cnblogs.com/iLoveMyD/p/5886212.html