0
我使用紅寶石1.9.2,這就是我發現的。如果高半字節首先零應該加上第一個
> ['A'].pack('H')
=> "\xA0"
由於H
需要高半字節先,自輸入A
只有一個半字節的附加半字節應在前面填充。這意味着上面的代碼應該是相同的
> ['0A'].pack('H')
但似乎我失去了一些東西。任何人都在意解釋。
由於第一種情況的答案是\xA0
很顯然零被填充到右邊。但是,當我們首先處理高位半字節時,A
應該與0A
相同。
謝謝。然而,問題是爲什麼'['A'] .pack('H2')=>「\ xA0」'最後加了一個零。我認爲在這種情況下,應該在A之前加上零,這應該導致十進制值10,並且輸出應該是'\ n'。 –
它不是「添加零」,它創建了一個值爲「0xA0」的單個字節,並且由於前四位是高位半字節,這就是「A」所在的位置。 '''A0']。pack('H2')'與'['0A']。pack('h2')'相同,所以如果你需要高低順序而不是低 - h'而不是'H'。如果只給予一個字符,我不知道爲什麼你期望「高第一」填充低位字節。 – tadman
謝謝。這清除了我的困惑。 –