UNIX/Linuxの部屋 base64コマンドの使い方

TOP UNIX/Linuxの部屋 UNIX/Linuxコマンド一覧 用語集 新版 由来/読み方辞書 環境変数マニュアル Cシェル変数 システム設定ファイル システムコール・ライブラリ ネットワークプログラミングの基礎知識 クラウドサービス徹底比較・徹底解説




コマンド base64 BASE64 エンコーダ・デコーダ このエントリーをはてなブックマークに追加

base64 は、エンコード規則のひとつである Base64 規格にのっとった変換を行うコマンドである。Base64 は6ビットを A〜Z・a〜z・0〜9 と +・/ の記号の合計64文字にマッピングする規格である (実際はパディングとして = を使うので 65文字となる)。

文字列をエンコード・デコード
% echo abc | base64 -e
YWJjCg==
% echo 'YWJjCg==' | base64 -d
abc
なお上記例は echo コマンドを用いているため "abc(改行)" という文字列をエンコードしていることに注意。純粋な "abc" をエンコードしたければ下記のようにする。
% echo -c abc | base64 -e
YWJj
→ Solaris など echo -c で改行抑止とならない環境もある
% echo abc | tr -d '\n' | base64 -e
YWJj
% printf abc | base64 -e
YWJj

ファイル内容をエンコード・デコード
% base64 -e sample.txt > sample.base64
% base64 -d sample.base64 > sample.txt

関連コマンド
openssl enc を使って BASE64 のエンコード・デコードをすることもできる。
% echo abc | openssl enc -base64
YWJjCg==
% echo YWJjCg== | openssl enc -base64 -d
abc