2016-08-30 5 views
5

node.js v4.5를 사용하고 있습니다. 이 Uint8Array 변수가 있다고 가정합니다.node.js에서 Uint8Array를 16 진수 문자열로 변환하십시오.

var uint8 = new Uint8Array(4); 
uint8[0] = 0x1f; 
uint8[1] = 0x2f; 
uint8[2] = 0x3f; 
uint8[3] = 0x4f; 

이 배열은 길이 될하지만의이 길이 내가 그는 16 진수 문자열에 해당로 uint8 변환하는 기능을 가지고 싶습니다 4.

가정하도록 할 수 있습니다.

var hex_string = convertUint8_to_hexStr(uint8); 
//hex_string becomes "1f2f3f4f" 

답변

1

또 다른 해결책 : reduce :

uint8.reduce(function(memo, i) { 
    return memo + ('0' + i.toString(16)).slice(-2); //padd with leading 0 if <16 
}, ''); 

또는 mapjoin :

uint8.map(function(i) { 
    return ('0' + i.toString(16)).slice(-2); 
}).join(''); 
+1

10 진수 값이 16보다 작 으면 올바르게 채워지지 않습니다. 슬라이스 (-2); }, '');'고정 된 버전'uint8.reduce (function (memo, i) { return memo + ("0"+ i.toString – tintin

관련 문제