如何将JavaScript ArrayBuffer以16进制字符串形式输出?
要将JavaScript的ArrayBuffer以16进制字符串的形式输出,可以使用以下方法:\n\n1. 使用TypedArray:可以将ArrayBuffer视为一个TypedArray,然后使用TypedArray的toString方法将其转换为16进制字符串。\n\njavascript\nconst buffer = new ArrayBuffer(4); // 创建一个4个字节的ArrayBuffer\nconst uint8Array = new Uint8Array(buffer); // 将ArrayBuffer视为一个Uint8Array\nconst hexString = Array.from(uint8Array)\n .map(byte => byte.toString(16).padStart(2, '0')) // 将每个字节转换为16进制字符串并补零\n .join(''); // 将所有字节组合成一个字符串\n\nconsole.log(hexString); // 输出16进制字符串\n\n\n2. 使用DataView:可以使用DataView来读取ArrayBuffer中的数据,然后将每个字节转换为16进制字符串。\n\njavascript\nconst buffer = new ArrayBuffer(4); // 创建一个4个字节的ArrayBuffer\nconst dataView = new DataView(buffer); // 创建一个DataView对象\nconst hexString = Array.from({ length: buffer.byteLength }, (_, i) =>\n dataView.getUint8(i).toString(16).padStart(2, '0') // 将每个字节转换为16进制字符串并补零\n).join(''); // 将所有字节组合成一个字符串\n\nconsole.log(hexString); // 输出16进制字符串\n\n\n无论是使用TypedArray还是DataView,上述方法都可以将ArrayBuffer以16进制字符串的形式输出。
原文地址: https://www.cveoy.top/t/topic/qkln 著作权归作者所有。请勿转载和采集!