Gab*_*mas 6 endianness node.js
当你读取一大块字节并且需要将它们转换为数字时,node.js具有buffer.readInt32BE()和的函数buffer.readInt32LE().
如果我只知道文件的前4个字节是整数,如果我不知道系统的字节顺序,我应该使用什么函数?大端还是小端?
做一个快速的谷歌搜索(stackoverflow),在C中我们可以测试字节序:
if ( htonl(47) == 47 ) {
// Big endian
} else {
// Little endian.
}
Run Code Online (Sandbox Code Playgroud)
我们如何在node.js中测试endianness以正确使用readInt32BE和readInt32Le?
os.endianness()返回CPU的字节顺序.可能的值为"BE"或"LE".
它被添加到Node.js v0.10.0中,它不包含在<= v0.8.25中.
资料来源:http://nodejs.org/api/os.html#os_os_endianness
| 归档时间: |
|
| 查看次数: |
5221 次 |
| 最近记录: |