%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