16进制和字符串互转
发布于
# React
字符串转 16 进制
function strToHexCharCode(str) {
if(str === '') return '';
let hexCharCode = [];
hexCharCode.push('0x');
for(var i = 0; i < str.length; i++) {
hexCharCode.push((str.charCodeAt(i)).toString(16));
}
return hexCharCode.join('');
}
16 进制转字符串
function hexCharCodeToStr(hexCharCodeStr) {
const trimedStr = hexCharCodeStr.trim();
const rawStr = trimedStr.substr(0, 2).toLowerCase() === '0x' ? trimedStr.substr(2) : trimedStr;
const len = rawStr.length;
if (len % 2 !== 0) {
throw("Illegal Format ASCII Code!");
}
let curCharCode;
let resultStr = [];
for (let i = 0; i < len; i = i + 2) {
curCharCode = parseInt(rawStr.substr(i, 2), 16);
resultStr.push(String.fromCharCode(curCharCode));
}
return resultStr.join("");
}