Perlで10進数を変換する

10進の整数を変換する方法です。

10進数2進数

packとunpackを利用する。

print unpack( 'B8', pack( 'C', 31 ) ); # 正値
00011111
print unpack( 'B8', pack( 'C', -31 ) ); # 負値
11100001

10進数8進数

printfを利用する。

printf( '%o', 31 );
37

10進数16進数

packとunpackを利用する。

print unpack( 'h3', pack( 'C', 31 ) );
1f

sprintfを利用する。

printf( '%x', 31 );
1f

10進数→文字列

packを利用する。

print pack( 'C', 97 );
a

packはまとめて利用することも出来ます。

print pack( 'C*', 97, 98, 99 );
print pack( 'C*', 227, 129, 130 );
abc
あ # UTF-8の場合

更新履歴

2014-10-21
固定ページから投稿に変更
2008-06-13
公開

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です