一、字符串轉換為16進制
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>字符串轉16進制</title> <link rel="stylesheet" href=""> </head> <body> <input type="text" id="demo1"> <button onclick="stringToHex()">字符串轉16進制</button> <p id="demo2"></p> <script> function stringToHex(){ var str = document.getElementById("demo1").value; var val = ""; for (var i = 0; i < str.length; i++) { if (val == "") { val = str.charCodeAt(i).toString(16); //獲取字符的Unicode碼然后轉16進制 } else { val += "," + str.charCodeAt(i).toString(16);//獲取字符的Unicode碼然后轉16進制再拼接,中間用逗號隔開 } } document.getElementById("demo2").innerHTML = val; } </script> </body> </html>
二、十六進制轉字符串
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>十六進制轉換為字符串</title> <link rel="stylesheet" href=""> </head> <body> <input type="text" id="demo1"> <button onclick="hexToString()">十六進制轉字符串</button> <p id="demo2"></p> <script> /** * 將16進制字符串進行分組,每兩個一組 * @param {[String]} str [16進制字符串] * @return {[Array]} [16進制數組] */ function groupArray(str){ var result = new Array(); for (var i = 0; i < str.length/2; i++) { var aa = str.slice(i*2, (i+1)*2); result.push(aa); } return result; } function hexToString(){ var str = document.getElementById("demo1").value; var arr = groupArray(str); //將16進制字符串進行每兩個分組 var val = ""; for (var i = 0; i < arr.length; i++) { val += String.fromCharCode(parseInt(arr[i], 16)); //將分組后的16進制字符串轉10進制Unicode碼,然后將Unicode碼轉換為字符 } document.getElementById("demo2").innerHTML = val; } </script> </body> </html>