From: "Yugui (Yuki Sonoda)" Date: 2008-12-05T20:32:51+09:00 Subject: [ruby-dev:37283] pack format 'H' when the packee has insufficient and odd digits Yuguiです。 pack format 'H'において、被パックデータが16進で奇数桁である場合、生成さ れるバイト列の長さに「ジャンプ」が見られます。 ["FFF"].pack("H1") #=> "\xF0" ["FFF"].pack("H2") #=> "\xFF" ["FFF"].pack("H3") #=> "\xFF\xF0" ["FFF"].pack("H4") #=> "\xFF\xF0\x00" ["FFF"].pack("H5") #=> "\xFF\xF0\x00" ["FFF"].pack("H6") #=> "\xFF\xF0\x00\x00" 1.8.7-p72とtrunkで同じ振るまいを確認しました。 H4の場合は足りない第4ニブルを0と見なして、2バイト目の下位ニブルに充てる のが自然な気がします。つまり、 ["FFF"].pack("H4") #=> "\xFF\xF0" ["FFF"].pack("H5") #=> "\xFF\xF0\x00" ["FFF"].pack("H6") #=> "\xFF\xF0\x00" 現状の振るまいは意図されたものでしょうか? -- Yugui http://yugui.jp 私は私をDumpする