js字符串與十六進制相互轉換


字符串(漢字)轉換為十六進制

  主要使用字符串.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位)

在進制轉換成為文字之前需要注意進制之前需要聲明否則不容易識別


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM