要将数字或者字符串转换为十六进制字符串,Node.js提供了toString()
方法,而将十六进制字符串转换为byte型数据可以借助Buffer
类的构造函数。
以下是 nodejs
十六进制字符串型数据与 byte型数据相互转换的完整攻略:
将byte型数据转换为十六进制字符串
- 使用
toString()
将二进制数据转换为十六进制字符串:
const byteArray = new Uint8Array([100, 200, 255]);
const hexString = Array.from(byteArray).map(byte => byte.toString(16).padStart(2, '0')).join('');
console.log(hexString); // "64c8ff"
- 使用
Buffer.from()
方法将 byte 型数据转化为十六进制字符串:
const byteArray = new Uint8Array([100, 200, 255]);
const hexString = Buffer.from(byteArray).toString('hex');
console.log(hexString) // "64c8ff"
将十六进制字符串转换为byte型数据
- 使用
Buffer.from()
方法将十六进制字符串转化为 byte 型数据:
const hexString = '64c8ff';
const byteArray = Buffer.from(hexString, 'hex');
console.log(new Uint8Array(byteArray)); // [ 100, 200, 255 ]
- 基于上述第一种情况, 使用
Uint8Array
类型的from()
方法将字符串转化为 byte 型数据:
const hexString = '64c8ff';
const byteArray = Uint8Array.from(hexString.match(/.{1,2}/g).map(byte => parseInt(byte, 16)));
console.log(byteArray); // Uint8Array [ 100, 200, 255 ]
以上就是 nodejs
实现十六进制字符串型数据和 byte型数据相互转换的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nodejs 十六进制字符串型数据与btye型数据相互转换 - Python技术站