具体实现:
/**
* 字符串转换16进制进制
* @returns {string}
* @param str
*/
strToHexadecimal(str) {
let val = '';
for (let i = 0; i < str.length; i++) {
if (val === '') val = str.charCodeAt(i).toString(16);
else val += str.charCodeAt(i).toString(16);
}
val += '0a';
return val;
},
/**
* 16进制转换字符串
* @param str
* @returns {string}
*/
hexadecimalToStr(hex) {
const arr = hex.split('');
let out = '';
for (let i = 0; i < arr.length / 2; i++) {
const tmp = `0x${arr[i * 2]}${arr[i * 2 + 1]}`;
const charValue = String.fromCharCode(tmp);
out += charValue;
}
return out;
},
// 测试
// 字符串16进制加密
const strToHex = utils.strToHexadecimal(
encodeURIComponent('测试数据123123abc'),
);
log.i(strToHex, '字符串16进制加密---------');
const hexToStr = utils.hexadecimalToStr(strToHex);
log.i(decodeURIComponent(hexToStr), '字符串16进制转换回来的---------');
文章评论