16進数とブザーの相互変換
9937 ワード
16進数とブザーの相互変換バイトは8ビットで、16進数の2桁に相当しますので、表示を便利にするために、16進数で表示される場合が多いですが、本質的には2進数です.例えば、ブザーの中の11111111がプリントアウトした後に、ff が表示されます.
まず16進数を話してください.は、行列があると仮定して、[1 a,2 b,3 c,4 d,5 e,6 f]バfferに変換したいです.コードは以下の通りです. 上記の考え方に基づいて、関数としてカプセル化することができます. 以上の例を例に挙げて、どうやってブザーから16進に移行するかを実現します.コードは以下の通りです. 上記の考え方に基づいて、関数をカプセル化することができます.
まず16進数を話してください.
var array = ['1a', '2b', '3c', '4d', '5e', '6f']
var hex_array = array.map(el=>parseInt(el, 16))
var uarray = new Uint8Array(hex_array)
var buf = Buffer.from(uarray)
console.log(buf)
//
<Buffer 1a 2b 3c 4d 5e 6f>
// 16 buffer
function hex_to_buffer(__array){
if(!Array.isArray(__array)){
return hex_array([__array])
}
var hex_array = __array.map(el=>parseInt(el, 16))
var uarray = new Uint8Array(hex_array)
return Buffer.from(uarray)
}
ブザーが16進に回転しますfunction hex_to_buffer(__array){
if(!Array.isArray(__array)){
return hex_array([__array])
}
var hex_array = __array.map(el=>parseInt(el, 16))
var uarray = new Uint8Array(hex_array)
return Buffer.from(uarray)
}
var array = ['1a', '2b', '3c', '4d', '5e', '6f']
var buf = hex_to_buffer(array) // buffer
// buffer 16
var uarray = Array.prototype.slice.call(buf)
var hex_array = uarray.map(el=>Number(el).toString(16))
console.log(hex_array)
// buffer 16
function buffer_to_hex(__buffer){
var uarray = Array.prototype.slice.call(__buffer)
return uarray.map(el=>Number(el).toString(16))
}
大功が成る