什么是低半字节以及为什么结果因一个数字而不同

我用ruby 1.9.2测试了以下代码。

"hello".unpack('H*') => ["68656c6c6f"] > "hello".unpack('h*') => ["8656c6c6f6"] 

为什么h*的结果是1.然后我认为半字节是4位。 然而, 6c6c6f都占用一个字节。

h *和H *之间的差异是它们写入字节的一半(半字节)的顺序。 h写下半字节, H写下半字节。

是的,半字节是字节的一半 – 即4位。

您可以在这篇文章中查看包装/解压缩的详细用法