Movatterモバイル変換


[0]ホーム

URL:


hydroculのメモ >コマンドの使い方(Linux) >base64 コマンド

base64 コマンド2016/03/02

標準入力のデータをBASE64でエンコードまたはデコードして標準出力するコマンド。デフォルトではエンコードする。オプション-d を付けるとデコードする。

$ base64    foo.dat # エンコード$ base64 -d foo.txt # デコード

ファイル名を渡さないか- をパラメータにすると標準入力を処理する。

エンコード済みのデータの改行位置がおかしかったりしてうまくデコードできない場合は以下のようにtrコマンドで削除をするとよい。

$ cat src.txt | tr -d '\n' | base64 -d | dst.txt

opensslコマンドでもBASE64をエンコード/デコードできる。

PHP、Python、PerlなどでBASE64を取り扱うにはBASE64でエンコード・デコードするにはも参照。

BASE64の仕様はRFCで定められている。バイナリ3バイトをエンコードすると4バイトに膨らむので容量は約1.33倍になる。

インストール2016/03/17

Coreutilsというパッケージに入っているので、CentOSにもUbuntuにも始めから入っている。

オプション2016/11/14

-d
デコードする。デフォルトではエンコード
--decode
デコードする。デフォルトではエンコード
--help
ヘルプ表示
--version
バージョン表示

-- というパラメータを渡すとそれ以降のパラメータをオプションではなくファイル名とみなしてくれるので、- で始まるファイル名を扱いたい場合に使うとよい。

(- という名前のファイル名を渡すと標準入力の意味になってしまうので、- という名前のファイル名を扱う方法は不明。-- を使ってもダメ)

PerlのワンライナーでBASE64するには2014/09/27

$ echo -n "あいうえおかきくけこ" | perl -MMIME::Base64 -0777 -ne 'print encode_base64($_)'44GC44GE44GG44GI44GK44GL44GN44GP44GR44GT$ echo "44GC44GE44GG44GI44GK44GL44GN44GP44GR44GT" | perl -MMIME::Base64 -0777 -ne 'print decode_base64($_)'あいうえおかきくけこ

nkfでBAE64するには2014/10/04

nkfコマンドでもBASE64のエンコード・デコードができる。

$ echo -n "あいうえおかきくけこ" | nkf -MB44GC44GE44GG44GI44GK44GL44GN44GP44GR44GT$ echo "44GC44GE44GG44GI44GK44GL44GN44GP44GR44GT" | nkf -WmBあいうえおかきくけこ

よくわからないがデコードのときは文字コード(W)を指定する必要があるみたい。

このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。

[8]ページ先頭

©2009-2025 Movatter.jp