一、背景
通过串口工具获取到的以十六进制表示的字符串数据,按照ascii码转换为字符串。
二、分析
输入应为十六进制的以单个字节为单位的字节与字节之间以空格间隔的字符串。
输出应为完整连续的字符串。
三、实现
3.1按照空格拆解输入字符串为字符数组
var input_array = input.split(/\s+/);
3.2将字符数组逐个按照ascii转换为字符
var res = String.fromCharCode(parseInt(str, 16));
3.3将各字符连接起来输出
res += e_hex2str_hexStringNumberToChar(input_array[cnt]);
四、源码
function e_hex2str_hexStringNumberToChar(str) {
var res = String.fromCharCode(parseInt(str, 16));
return res;
}
function e_hex2str_run(input) {
var res = "";
var input_array = input.split(/\s+/);
for (var cnt = 0; cnt < input_array.length; cnt++) {
res += e_hex2str_hexStringNumberToChar(input_array[cnt]);
}
return res;
}
console.log(e_hex2str_run("44 33 2D 44 33 32 41"));