javascript如何将十六进制的数据转化为字符串

在开发中遇到这样一个问题,硬件部门向我推送了一段16进制的数据:

3F 2B 30 30 30 30 30 34 33 35 6D 30 38 31 34 32 34 34 2B 30 30 32 32 34 34 39 64 2B 30 30 30 30 30 34 33 30 2A 2A 2A 2B 2A 2A 2B 2A 2A 30 35 32 03 0D 0A

用js如何将其还原为字符串。

阅读 5.1k
2 个回答
// 十六进制转字符串
var str = '3F 2B 30 30 30 30 30 34 33 35 6D 30 38 31 34 32 34 34 2B 30 30 32 32 34 34 39 64 2B 30 30 30 30 30 34 33 30 2A 2A 2A 2B 2A 2A 2B 2A 2A 30 35 32 03 0D 0A';
var res = String.fromCharCode(...str.split(' ').map(item =>parseInt(item, 16)));
console.log(res);
// ?+00000435m0814244+0022449d+00000430***+**+**052�

// 字符串转十六进制
var origin = res.split('').map(item => item.charCodeAt(0).toString(16).toUpperCase().padStart(2, '0')).join(' ');
console.log(origin);
//3F 2B 30 30 30 30 30 34 33 35 6D 30 38 31 34 32 34 34 2B 30 30 32 32 34 34 39 64 2B 30 30 30 30 30 34 33 30 2A 2A 2A 2B 2A 2A 2B 2A 2A 30 35 32 03 0D 0A
console.log(str == origin);
//true
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题