Perlについての質問箱 14箱目
■ このスレッドは過去ログ倉庫に格納されています
0887デフォルトの名無しさん
NGNGmy @bin = (0x48, 0x65, 0x6C, 0x6F, 0x21, 0x0A); # 6 要素の配列。メモリ上のイメージは複雑で、perl 処理系にしか解釈できない。
my $str = pack('C*', @bin); # @bin の各要素を、バイトサイズに「パックする」
print $str; # すると、"\x48\x65\x6C\x6F\x21\x0A" という文字列になる。(つまり "Hello!\n")
# これは C で書かれた関数やシステムコールにも(1バイト文字の列として)解釈できる。
my @bin2 = unpack('C*', $str); # unpack でもとに戻せる。(@bin2 は、@bin と同じになる)
もちろん 'C*' 以外を使って、バイトサイズ以外のパックもできる。
■ このスレッドは過去ログ倉庫に格納されています