タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

unpackとperlに関するkamipoのブックマーク (2)

  • pack関数とunpack関数の基本を理解する - 小池啓仁 ヒロヒト応援ブログ By はてな

    一般的に、packは包み込むことで、unpackはその逆です。 Perlでのpack関数は、リスト値を型指定で包み込んで、バイナリ値に変換します。unpack関数はその逆です。 バイナリ値とは、たとえば、見た目『123』は、内部的には16進の『313233』で、バイナリ値です。 つぎに、リスト値『313233』を16進上位ニブル型指定("H*")でパックしてみます。 すると、見た目バイナリ値が『123』になるのです。 print pack("H*", 313233); #内部的には16進の『313233』である見た目バイナリ値『123』が表示される つぎに、見た目バイナリ値『123』を16進上位ニブル型指定("H*")でアンパックしてみます。 すると、リスト値『313233』が表示されます。 print unpack("H*", 123); #リスト値『313233』が表示される 尚、16

    pack関数とunpack関数の基本を理解する - 小池啓仁 ヒロヒト応援ブログ By はてな
  • Perl の数値変換

    Last Updated: 2002/03/26 Perl で、16進文字列、10進整数、2進文字列、バイナリー文字列の相互変換を行うための、スクリプトメモです。 特に断っていない限り、Perl 5.001 以上で動作します。 目次 16進文字列からの変換 10進整数からの変換 2進文字列からの変換 バイナリー文字列からの変換 16進文字列→10進整数への変換 hex() 関数は、16進文字列を整数値に、手軽に変換できます。 $num10 = hex("4A"); # $num10 には 74 が入る $num10 = hex("FFFFFF"); # $num10 には 16777215 が入る 余談ですが、数値リテラル中では 0x に続けて 16 進数で記述することで、数値を表すことができます。 $num10 = 0x4A; # 74 $num10 = 0xFFFFFF; # 1677

  • 1