JavaScriptで整数 ⇄ バイト列に相互変換
整数 → バイト列 (4バイト)
code:js
function uint32ToArrayBuffer(n) {
const view = new DataView(new ArrayBuffer(4));
view.setUint32(0, n, false);
return view.buffer;
}
setUint32(_, _, false)のfalseはリトルエンディアンならtrueのフラグ。 引数はnumber
戻り値はArrayBuffer
使用例
code:js
const buf = uint32ToArrayBuffer(692);
バイト列 (4バイト) → 整数 (ブラウザとNode.js)
code:js
function arrayBufferToUint32(buf) {
return new DataView(buf).getUint32(0, false);
}
引数はArrayBuffer
戻り値はnumber
使用例
code:js
const buf = uint32ToArrayBuffer(692);
arrayBufferToUint32(buf);
// => 692
おまけ: Nipp
おまけ: バイト列 (4バイト) → 整数 (Node.js限定Buffer版)
code:js
function arrayBufferToUint32(buf) {
const buffer = Buffer.from(buf);
return buffer.readUInt32BE();
}