Log*_*gan 3 buffer binaryreader node.js
我有一个 PHP 类,用于读取我正在转换为 NodeJS 的二进制数据或在 NodeJS 中找到等效的几个函数。我对这个 BinaryReader 类感兴趣的函数是ReadULong和ReadUShort。我相信这些意味着读取无符号长整数(4 个字节)和无符号短整数(2 个字节)。当我试图在 NodeJS 中找到这些的等价物时,我对在这些之间使用哪个函数感到困惑:
buf.readUInt16LE(offset, [noAssert])
buf.readUInt16BE(offset, [noAssert])
buf.readUInt32LE(offset, [noAssert])
buf.readUInt32BE(offset, [noAssert])
Run Code Online (Sandbox Code Playgroud)
在这种情况下会LE或BE代表什么?
另外,我在 PHP 类上发现了一个常量,上面写着const DEFAULT_BYTE_ORDER = 'L';. 这是L相同L的readUInt32LE?这是关于字节顺序的全部内容吗?
到目前为止,我已经阅读了这些文章:
如果我能得到更多关于二进制阅读的参考资料,我将不胜感激!
BE 和 LE 代表大端和小端。在big endian 中,最高有效字节存储在最小地址中,而在little endian 中,最低有效字节存储在最小地址中。话虽如此,endian 确实表示字节顺序。您可以在文档的示例之一中看到该模式:
var buf = new Buffer(2);
buf[0] = 0x3;
buf[1] = 0x4;
buf.readUInt16BE(0);
buf.readUInt16LE(0);
// 0x0304
// 0x0403
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4884 次 |
| 最近记录: |