base64は、US-ASCII文字のデータしか扱うことができない環境でデータの格納や転送を行うために使われます。具体的に電子メールで音声データや画像データの送信などに利用されます。
base64コマンドは、データをbase64のデータにエンコードまたはデコードすることができます。
目次
base64コマンドとは
base64コマンドとは、データを64種類の印刷可能なアルファベットと数字に変換するコマンドです。
変換方法は8ビットを6ビット区切りに置き換えて、その6ビットをアルファベットに置き換えます。
そのため、変換後データは、変換前データの約133%の大きさになります。
詳しい変換表は、RFC4648を参照してください。
また、base32コマンドは、データを32種類の印刷可能なアルファベットと数字に変換するコマンドです。オプションもbase64コマンドと同様です。
base64コマンドの構文
base64のエンコーディング
1 |
base64 [option]... [file]... |
base64のデコーディング
1 |
base64 -d [option]... [file]... |
base64コマンドの利用例
base64にエンコード
(オプションなし)
ファイルまたは標準入力をbase64にエンコードします。
コマンド例
1 |
base64 enc.txt |
enc.txt
1 2 |
encoding decoding |
実行結果
1 |
ZW5jb2RpbmcKZGVjb2RpbmcK |
base64のデータをデコード
(-dオプション)
-dオプションは、base64にエンコードしたデータをデコードします。
コマンド例
1 |
base64 -d enc.txt.base64 |
enc.txt.base64
1 |
ZW5jb2RpbmcKZGVjb2RpbmcK |
実行結果
1 2 |
encoding decoding |
余分なバイトを無視
(-iオプション)
デコードを行うとき、base64にエンコードしたデータにタブ文字のような余分な文字が含まれている場合、デコードできないため、途中で終了します。
-iオプションを用いるとbase64でデコードできない文字は無視して、デコードを行うことができます。
コマンド例
1 |
base64 -i -d enc.txt.base64_broken |
enc.txt.base64_broken
1 |
ZW5jb2Rp bmcKZGVjb2RpbmcK |
実行結果
1 2 |
encoding decoding |
折り返しの文字数を指定
(-wオプション)
-wオプションは、文字数を指定してその文字数の後に折り返しを入れます。
デフォルトでは、76文字の後に折り返しを入れます。
また、0を入力すると折り返しをしません。
コマンド例
1 |
base64 -w4 enc.txt |
実行結果
1 2 3 4 5 6 |
ZW5j b2Rp bmcK ZGVj b2Rp bmcK |
参考
外部リンクGnu Coreutils
外部リンクGnu Coreutils日本語版