我有一个形式为 [4,-101,122,-41,-30,23,-28,3,..]
的字节数组,我想将其转换为 6d69f597b217fa333246c2c8
我正在使用下面的函数
function toHexString(bytes) {
return bytes.map(function(byte) {
return (byte & 0xFF).toString(16)
}).join('')
}
这给了我一个相同形式的字符串,但我怀疑这不是一个有效的转换,因为十六进制字符串比预期的要短一些。我认为翻译应该得到“0a10a6dc”。请告诉我我是否错了或者这是一个正确的转换但也许我没有使用正确的字节数组
字节数组 4,-127,45,126,58,-104,41,-27,-43,27,-35,100,-50,-77,93,-16,96,105,-101,-63,48,-105,49,-67,110,111,26,84,67,-89,-7,-50,10,-12,56,47,-49,-42,-11,-8,-96,-117,-78,97,-105,9,-62,-44,-97,-73,113,96,23,112,-14,-62,103,-104,90,-14,117,78,31,-116,-7
对应转换 4812d7e3a9829e5d51bdd64ceb35df060699bc1309731bd6e6f1a5443a7f9ceaf4382fcfd6f5f8a08bb261979c2d49fb771601770f2c267985af2754e1f8cf9
原文由 Actung 发布,翻译遵循 CC BY-SA 4.0 许可协议
您缺少十六进制转换中的填充。你会想要使用
以便每个字节转换为恰好两个十六进制数字。您的预期输出将是
04812d7e3a9829e5d51bdd64ceb35df060699bc1309731bd6e6f1a5443a7f9ce0af4382fcfd6f5f8a08bb2619709c2d49fb771601770f2c267985af2754e1f8cf9