From: sa-sakamoto@... Date: 1996-04-23T17:54:34+09:00 Subject: [ruby-list:273] abount pack 酒本@KDDと申します。 初歩的ですが pack について質問させてください。 以下の msg の最後の要素を文字列として扱いたいのですが、 結果はなぜか余分な 0x00 が付加されてしまいます。 なにか勘違いしてますでしょうか? msg = [ 52, 0, 0, 3009, 0, 0, 1, 20, "00000000000000000002" ] bmsg = msg.pack("NNNNN NNN a20") print bmsg.unpack("NNNNN NNN a20").join(","), "!\n" print "len=",bmsg.size,"\n" bmsg.each_byte{ |c| printf("%02X ",c) }; print "\n" -------結果 52,0,0,3009,0,0,1,20,00000000000000000002! len=72 00 00 00 34 00 00 00 00 00 00 00 00 00 00 0B C1 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 14 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 len は52となることを期待しているのですが。 よろしくお願い致します。 -- KDD交換サービス技術部ソフトウェアセンター 交換新サービスG(旧第2課) 酒本 定幸 sa-sakamoto@kdd.co.jp TEL 03-3347-5695