簡體   English   中英

一次轉換十六進制字符串2個字符

[英]Converting hex string 2 chars at a time

我正在閱讀一些將十六進制字符串解析為緩沖區的JavaScript代碼,如下所示:

function bufferFromHexString(string)
{
    var buffer = new Buffer(string.length/2);

    for (var i=0; i<string.length/2; i++)
    {
        buffer.writeInt8( parseInt(input.substr(i*2,2), 16), i );
    }

    return buffer;
}

但是我不確定為什么一次兩個字符,而不是一個。 有誰能解釋一下?

它需要兩個十六進制字符才能生成一個8位(一個字節)的整數。 這里的所有都是它的。

一個字節(8位)具有2^8=256可能的值。

要以十六進制表示256,您需要兩位數(例如0xff = 255d )。

00 = 0
01 = 1
02 = 2
...
fd = 253
fe = 254
ff = 255

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM