字符串(漢字)轉換為十六進制
主要使用字符串.charCodeAt()方法,此方法返回一個字符的Unicode值,再用toString(16)方法,該方法是先將數字對象轉換為二進制,再把二進制轉化為16進制.
var str = "牛耀民"; var val = ""; for(var i = 0; i < str.length; i++){ if (val == "") val = str.charCodeAt(i).toString(16); else val += "," + str.charCodeAt(i).toString(16); } console.log(val); VM131:9 725b,8000,6c11
.十六進制轉化為字符串(漢字)
主要使用Object.fromCharCode()方法,此方法將Unicode碼轉換為與之對應的字符.先將字符轉化為數字,parseInt(string,radix)實現,由於這些字符都是十六進制對應的字符,所以radix也應為16
var str = "725b,8000,6c11"; var val=""; var arr = str.split(","); for(var i = 0; i < arr.length; i++){ val += String.fromCharCode(parseInt(arr[i],16)); } console.log(val); VM165:7 牛耀民
其實這其中存在兩對轉換
一是: str.charCodeAt(i)和String.fromCharCode(Unicode編碼).
二是: toString(可選轉換為2,8,10,16位字符)和parseInt(字符串,默認轉10位)