Perlゼミ

  1. Perl
  2. 標準関数
  3. here

unpack関数 - パックされたデータを復元する

unpack関数を使用するとpack関数でバイナリ形式にパックしたデータを復元することができます。

my @values = unpack($format, $packed);

第一引数は、フォーマットです。

第二引数はパックされたデータ。

戻り値は、復元されたデータが配列で返されます。

符号付32bitのバイナリ形式にパックされたデータを復元

三つの整数が符号付32bitのバイナリ形式にパックされている場合、復元するにはunpack関数を使って以下のようにします。

my $packed = pack("l3", 7, 8, 9);

my @values = unpack("l3", $packed);

@valuesは(7, 8, 9)という配列になります。

浮動小数点を符号付doubleのバイナリ形式にパックされたデータを復元

三つの浮動小数点が倍精度浮動小数点doubleのバイナリ形式にパックされている場合は、以下のようにして復元します。

my $packed = pack("d3", 0.5, 1.2, 5.4);

my @values = unpack("d3", $packed);

エンディアンの変換

エンディアンの変換についてはpack関数で説明しています。

unpack関数で利用できるフォーマットの一覧。

unpack関数で利用できるフォーマットの一覧についてはpack関数のフォーマット一覧を参考にしてください。

さらに詳しく

pack関数についての詳細な情報は公式ドキュメントであるpackとunpackの入門unpack関数を参考にしてください。

Perlプログラミングちゃんねるのご紹介

Perlの書籍
  • 業務に役立つPerl

    ログ解析など日本語を含むテキスト処理の実践!
    この私、Perlゼミの作者が執筆しています。
    ご購入、口コミ歓迎。
  • Perlの書籍 »
自己紹介
木本裕紀

「今日も元気だ! Perlで元気!」

Perlプログラミングちゃんねる

Youtubeチャンネル登録、いいね、コメント歓迎

Twitter
フォロー、いいね、リツート、コメント歓迎

kimoto.yuki@gmail.com
応援メッセージ、質問、間違い報告歓迎

Perl総合研究所