有時候,我們在給後端傳遞變數的的值中有漢字,可能由於編碼的原因,傳遞到後端後變為亂碼了。所以有時候為了省事或者其它特殊要求的時候,會把傳遞的漢字轉換成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方法:unicode 是為了解決傳統的字元編碼方案的侷限而產生的,它為每種語言中的每個字元設定了統一並且唯一的二進位制
編碼,以滿足跨語言、跨平台進行文字轉換、處理的要求。2023年開始研發,2023年正式公布。
function
tounicodefun(data)
return
str;
}var
resultunicode = tounicodefun('中國'); //
\u4e2d\u56fd
console.log(resultunicode);
unicode轉化為漢字的方法:
function
tochinesewords(data)
return
str;
}var
resultchinesewords = tochinesewords("\u4e2d\u56fd"
); console.log(resultchinesewords);
//中國
在網上找到另外乙個實現方式:
var
gb2312unicodeconverter=,
togb2312:
function
(str)
};var
result = gb2312unicodeconverter.tounicode('中國'); //
\u4e2d\u56fd
var result2 = gb2312unicodeconverter.tounicode(result); //
%5cu4e2d%5cu56fd
下面實現漢字轉unicode碼:
function
tounicode(s));
}
JS之漢字與Unicode碼的相互轉化
有時候,我們在給後端傳遞變數的的值中有漢字,可能由於編碼的原因,傳遞到後端後變為亂碼了。所以有時候為了省事或者其它特殊要求的時候,會把傳遞的漢字轉換成unicode編碼後再進行傳遞。當然漢字轉換成unicode編碼,使用js的charcodeat 方法就可以。好 charcodeat 0 tostr...
JS 漢字與Unicode碼的相互轉化
js檔案中,有些變數的值可能會含有漢字,畫面引入js以後,有可能會因為字符集的原因,把裡面的漢字都變成亂碼。後來發現網上的一些js裡會把變數中的漢字都表示成 u 開頭的16進製制編碼,這樣應該可以解決上面的問題。最近有時間在網上查詢了一下實現方式,一種比較大眾化的 function tounicod...
PHP獲取漢字unicode碼的通用函式
把乙個漢字轉為unicode的通用函式,不依賴任何庫,和別的自定義函式,但有條件 條件 本檔案以及函式的輸入引數應該用utf 8編碼,不然要加函式轉換 其實亦可輕易編寫反向轉換的函式,甚至不侷限於漢字,奇怪為什麼php沒有現成函式 author xieye param word 必須是乙個漢字,或代...