GNU Core Utilities/base64
表示
base64 コマンドは、データを Base64 エンコード形式で変換するためのコマンドです。Base64 は、64 種類の文字を使ってバイナリデータをテキスト形式にエンコードする方式です。主に電子メールや URL などでバイナリデータをテキスト形式に変換して送信するために使用されます。GNU coreutils に含まれており、Linux では GNU 版が、FreeBSD では BSD 版が提供されています。基本的な動作は共通していますが、細かなオプションの違いがあります。
基本的な使い方
[編集]base64 [オプション] [ファイル]
主なオプション(GNU coreutils版)
[編集]主なオプション オプション 説明 -d, --decodeBase64 からデコードする -i, --input入力ファイルを指定する(標準入力の場合は省略) -o, --output出力ファイルを指定する -w, --wrap=COLS出力を COLS 列ごとに改行して表示(デフォルトは 76) -b, --break=NUMBER行の途中で改行を挿入しないようにする(デフォルトは 76)
例
[編集]ファイルを Base64 エンコード
[編集]base64 file.txt
file.txt の内容を Base64 エンコードして表示。
Base64 でエンコードしたデータをファイルに保存
[編集]base64 file.txt > encoded.txt
file.txt を Base64 でエンコードして encoded.txt に保存。
Base64 からデコード
[編集]base64 -d encoded.txt
encoded.txt の Base64 データをデコードして表示。
行ごとに改行を入れて表示
[編集]base64 -w 40 file.txt
file.txt を Base64 でエンコードし、40文字ごとに改行を入れて表示。
FreeBSD 版との違い
[編集]FreeBSD でも base64 コマンドは提供されていますが、GNU coreutils 版といくつか違いがあります。
主な違い:
[編集]-w(出力の改行位置を指定する)オプションのデフォルト動作が異なる- FreeBSD の
base64はデフォルトで 64 文字ごとに改行しますが、GNU 版では 76 文字ごとに改行します。
- FreeBSD の
-iと-oオプションの挙動が異なる場合がある- FreeBSD の
base64では、標準入力と標準出力の取り扱いが GNU 版と少し異なることがあります。
- FreeBSD の
- GNU coreutils 版を FreeBSD で使う方法
coreutilsパッケージをインストールするとgbase64という名前で GNU 版のbase64が使える。
pkg install coreutils gbase64 file.txt # GNU版の base64 を使用
詳しくは、それぞれの環境で man base64 を確認してください。