下面是一个二进制的字符串:
const bin = '\x00\x00\x16%'
我想把它转换成big endian整数。
我可以使用以下代码来完成此操作:
new DataView(Uint8Array.from('\x00\x00\x16%', c => c.charCodeAt(0)).buffer).getInt32(0, false)
=> 5669
但是我非常肯定有一种更简单的方法来实现这一点,而不是转换为Uint8Array,然后将其传递给数据视图。
(Note:这只适用于浏览器,不适用于Node.js。我看到了所有关于Buffer.readUIntBE
的SO帖子,但它们不是浏览器自带的。)
3条答案
按热度按时间5gfr0r5j1#
这在浏览器上是有效的,并且产生相同的结果。
xmq68pz92#
@moudi的回答让我走上了正确的轨道,所以他值得接受,但只是为了好玩:
(更新:@adrew-parks建议的更小版本):
原文回答:
llew8vvj3#