JavaScript中字符串與Unicode編碼互相轉換的實現(xiàn)方法
本文實例講述了JavaScript中字符串與Unicode編碼互相轉換的實現(xiàn)方法。
unicode的表示方式有兩種,一種為web頁面中使用的,一種為我們一般采用的編碼方式
第一種:"成都 "Unicode編碼方式 &+編號是網(wǎng)頁里引用unicode字符的方法,編號為十進制的在unicode中的編號
第二種:\u6210\u90fd 表示的也是成都,采用的也是unicode編碼格式,是java編程中使用的編碼格式
它以\u開頭,后接四位16進制的數(shù)。
分享給大家供大家參考,具體如下:
這段代碼演示了JavaScript中字符串與Unicode編碼的轉換:
// 為了控制臺的演示方便, 變量沒有添加 var 定義 // 實際編程中請避免 // 字符串 str = "中文"; // 獲取字符 char0 = str.charAt(0); // "中" // 數(shù)字編碼值 code = str.charCodeAt(0); // 20013 // 編碼互轉 str0 = String.fromCharCode(code); // "中" // 轉為16進制數(shù)組 code16 = code.toString(16); // "4e2d" // 變成字面量表示法 ustr = "\\u"+code16; // "\u4e2d" // 包裝為JSON jsonstr = '{"ustr": "'+ ustr +'"}'; //'{"ustr": "\u4e2d"}' // 使用JSON工具轉換 obj = JSON.parse(jsonstr); // Object {ustr: "中"} // ustr_n = obj.ustr; // "中"
如果是一組字符串,則需要使用到 for 循環(huán)來處理。
其中,我們使用了JSON工具來進行轉換。
如果要兼容 IE6等瀏覽器,則可用如下形式進行解析:
if("object" === typeof message){ // 如果是對象,則不進行轉換 } else if(window["JSON"]){ message = JSON.parse(message); } else { // IE6, IE7 message = eval("("+ message + ")"); }
控制臺調試結果如下所示:
下面接著分享正則方式將&#數(shù)字形式轉換為字符串或中文的方法
<script> //帶;號 var str="https://www.jb51.net/article/1.htm"; //不帶分號 var str2="https://www.jb51.net/article/1.htm"; function uncode(str) { return str.replace(/&#(x)?([^&]{1,5});?/g, function (a, b, c) { return String.fromCharCode(parseInt(c, b ? 16 : 10)); }) } document.write(uncode(str)); document.write("<br>"); document.write(uncode(str2)); </script>
希望本文所述對大家JavaScript程序設計有所幫助。
相關文章
微信小程序使用this.setData()遇到的問題及解決方案詳解
this.setData估計是小程序中最經(jīng)常用到的一個方法,但是要注意其實他是有限制的,忽略這些限制的話,會導致數(shù)據(jù)無法更新,下面這篇文章主要給大家介紹了關于微信小程序使用this.setData()遇到的問題及解決方案,需要的朋友可以參考下2022-08-08JavaScript實現(xiàn)二叉樹的先序、中序及后序遍歷方法詳解
這篇文章主要介紹了JavaScript實現(xiàn)二叉樹的先序、中序及后序遍歷方法,結合實例形式總結分析了javascript二叉樹的先序、中序及后序遍歷實現(xiàn)方法與相關操作注意事項,需要的朋友可以參考下2017-10-10JavaScript?映射器?array.flatMap()
這篇文章主要介紹了JavaScript?映射器?array.flatMap(),array.flatMap()是一個映射函數(shù),它接收一個數(shù)組和一個映射函數(shù),然后返回一個新的映射數(shù)組,下面進入文章了解具體內容2022-02-02