我需要將具有百分比符號的已解碼字符串替換爲U +十六進制。將百分比符號轉換爲u +十六進制(javascript)
字符串:
"text=%F0%9F%98%8A&id=60&tags=";
我需要什麼:
根據http://unicode.org/emoji/charts/full-emoji-list.html變化%F0%9F%98%8A
到'U+1F60A'
或1F60A
(全球)。
我需要將具有百分比符號的已解碼字符串替換爲U +十六進制。將百分比符號轉換爲u +十六進制(javascript)
字符串:
"text=%F0%9F%98%8A&id=60&tags=";
我需要什麼:
根據http://unicode.org/emoji/charts/full-emoji-list.html變化%F0%9F%98%8A
到'U+1F60A'
或1F60A
(全球)。
對於1f60a
:
var c = decodeURIComponent("%F0%9F%98%8A").codePointAt(0).toString(16);
注意,在JS \u1f60a
不會工作(儘管它會作爲一個HTML實體),則需要2個編碼點; c.charCodeAt(0).toString(16)
& c.charCodeAt(1).toString(16)
你能否詳細說明你的第二段? 'charCodeAt(1)'不會返回undefined? –
JS使用UTF16,表情符號在需要表示2個字符的範圍內:'「」.length == 2' –
具體來說:'「」==「\ ud83d \ ude0a」== true' –
var message = "This is my message %F0%9F%98%8A and I love emojis!";
$("p").text(decodeURI(message));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p></p>
VAR消息
你想' 「文本= U + 1F60A&ID = 60&標籤=」'作爲回報?或者只是'「text =&id = 60&tags =」'? – kennytm
你爲什麼想這樣做? 'decodeURIComponent'會給你一個完美的Unicode字符串。你打算如何處理帶有U +的字符串? –