2016-08-30 2 views
5

में बराबर हेक्स स्ट्रिंग में Uint8Array को कनवर्ट करें मैं node.js v4.5 का उपयोग कर रहा हूं। मान लीजिए मेरे पास यह Uint8Array चर है।nint.js

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

यह सरणी किसी भी लम्बाई के हो लेकिन मान लें लंबाई 4.

मुझे लगता है कि कि हेक्स स्ट्रिंग बराबर में uint8 धर्मान्तरित एक समारोह करना चाहते हैं दे सकते हैं।

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 
}, ''); 

या map और join:

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

दशमलव मान <16 होने पर यह सही ढंग से पैड नहीं करता है। यहां एक निश्चित संस्करण 'uint8.reduce है (फ़ंक्शन (ज्ञापन, i) { वापसी ज्ञापन + (" 0 "+ i.toString (16))। टुकड़ा (-2); }, '');' – tintin

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^