javascript
js将中文转换成编码 java解析_JS实现的汉字与Unicode码相互转化功能分析
本文實例講述了JS實現的漢字與Unicode碼相互轉化功能。分享給大家供大家參考,具體如下:
有時候,我們在給后端傳遞變量的的值中有漢字,可能由于編碼的原因,傳遞到后端后變為亂碼了。所以有時候為了省事或者其它特殊要求的時候,會把傳遞的漢字轉換成Unicode編碼后再進行傳遞。
當然漢字轉換成unicode編碼,使用JS的charCodeAt()方法就可以。
'好'.charCodeAt(0).toString(16)
"597d"
這段代碼的意思是,把字符'好'轉化成Unicode編碼,toString()就是把字符轉化成16進制了
用法:charCodeAt() 方法可返回指定位置的字符的 Unicode 編碼。這個返回值是 0 - 65535 之間的整數
語法:stringObject.charCodeAt(index)
index參數必填,表示字符串中某個位置的數字,即字符在字符串中的下標。
注:字符串中第一個字符的下標是 0。如果 index 是負數,或大于等于字符串的長度,則 charCodeAt() 返回 NaN。
例如:
var str="Hello world!"
document.write(str.charCodeAt(1))
//結果:101
'好哦'.charCodeAt(0).toString(16)
"597d"
'好哦'.charCodeAt(1).toString(16)
"54e6"
要是想把unicode解碼成字符呢?
要想對Unicode解碼的話,必須要用轉義字符'\u'
'\u54e6'
"哦"
總結下:
js unicode是以十六進制代碼外加開頭\u表示的字符串。即\unnnn
Unicode 是為了解決傳統的字符編碼方案的局限而產生的,它為每種語言中的每個字符設定了統一并且唯一的二進制編碼,以滿足跨語言、跨平臺進行文本轉換、處理的要求。1990年開始研發,1994年正式公布。
下面先看一個簡單的例子,漢字轉化為unicode方法:
function toUnicodeFun(data){
if(data == '' || typeof data == 'undefined') return '請輸入漢字';
var str ='';
for(var i=0;i
str+="\\u"+data.charCodeAt(i).toString(16);
}
return str;
}
var resultUnicode = toUnicodeFun('中國'); // \u4e2d\u56fd
console.log(resultUnicode);
unicode轉化為漢字的方法:
function toChineseWords(data){
if(data == '' || typeof data == 'undefined') return '請輸入十六進制unicode';
data = data.split("\\u");
var str ='';
for(var i=0;i
str+=String.fromCharCode(parseInt(data[i],16).toString(10));
}
return str;
}
var resultChineseWords = toChineseWords("\u4e2d\u56fd");
console.log(resultChineseWords);//中國
在網上找到另外一個實現方式:
var GB2312UnicodeConverter={
ToUnicode:function(str){
return escape(str).toLocaleLowerCase().replace(/%u/gi,'\\u');
},
ToGB2312:function(str){
return unescape(str.replace(/\\u/gi,'%u'));
}
};
var result = GB2312UnicodeConverter.ToUnicode('中國'); //\u4e2d\u56fd
var result2 = GB2312UnicodeConverter.ToUnicode(result); //%5cu4e2d%5cu56fd
下面實現漢字轉Unicode碼:
function toUnicode(s){
return s.replace(/([\u4E00-\u9FA5]|[\uFE30-\uFFA0])/g,function(newStr){
return "\\u" + newStr.charCodeAt(0).toString(16);
});
}
PS:這里再為大家提供幾款Unicode編碼轉換操作相關工具供大家參考使用:
希望本文所述對大家JavaScript程序設計有所幫助。
總結
以上是生活随笔為你收集整理的js将中文转换成编码 java解析_JS实现的汉字与Unicode码相互转化功能分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【GNN】硬核!一文梳理经典图网络模型
- 下一篇: android rxjava2 简书,R