2016-08-20 179 views
1

現在我必須將字符串中編碼的十六進制轉換爲十六進制字節。Javascript:將十六進制編碼的字符串轉換爲十六進制字節

var str = "5e" 

var b = // Should be 0x5e then. 

if str = "6b", then b = 0x6b and so on. 

是否有JavaScript的任何功能,如事先在java中

Byte.parseByte(str, 16)

感謝

+1

'B = parseInt函數( '5E',16)' –

+0

您可以使用Int8Array (帶符號)或Uint8Array(無符號)類型與本地函數parseInt(hexString,16) – rm4

+1

什麼是「十六進制字節」? – 2016-08-20 07:06:35

回答

1

你想要的功能是parseInt

parseInt("6b", 16) // returns 107 

的第一個參數parseInt是一個字符串數字的表示和第二個參數是基數。十進制使用10,十六進制使用16。

+0

不,它給出值107 – user3898336

+1

0x6b只是另一種寫入方式107 – hugomg

+0

使用Int8Array或Uint8Array作爲字節存儲。 – rm4

1

從您的評論中,如果您希望字符串「6b」的「輸出爲0x6b」,那麼只需在您的字符串中加上「0x」,然後根據需要進一步操作。沒有Javascript類型會以可讀格式輸出十六進制數字,除了字符串外,您會看到前綴爲「0x」。

0

我解決它通過只使用

new Buffer("32476832", 'hex') 

這解決了我的問題,並給了我所期望的緩衝

<Buffer 32 47 68 32> 
相關問題