Hatena::ブログ(Diary)

計算機と戯れる日々 このページをアンテナに追加 RSSフィード

2009-03-01

コマンドラインでbase64する

通常ならば nkf -MBでいいのだが、バイナリデータのときには

       -M[BQ]
           MIME に変換する。 JIS にコード変換してから BASE64 される。
           -M  ヘッダ形式に変換する
           -MB base64 stream に変換する

とのことなのでJISコードにしてから変換している。

実験

$ echo -n 隣の客はよく柿食う客だ| nkf -MB;echo
GyRCTlkkTjVSJE8kaCQvM0E/KSQmNVIkQ
$ echo -n 隣の客はよく柿食う客だ| nkf -j | base64
GyRCTlkkTjVSJE8kaCQvM0E/KSQmNVIkQA==
$ echo -n 隣の客はよく柿食う客だ| base64
6Zqj44Gu5a6i44Gv44KI44GP5p+/6aOf44GG5a6i44Gg
$ echo -n 隣の客はよく柿食う客だ| ruby -e 'puts [STDIN.read].pack("m")'
6Zqj44Gu5a6i44Gv44KI44GP5p+/6aOf44GG5a6i44Gg

おしい、nkfメールを標準とするために開発されたのだろうが…

でも実を言うとbase64ってコマンド知らなかったりしたorz

ということでバイナリデータを操作するときにはnkf -MBでなくbase64にすること。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/n9d/20090301/1235908549
リンク元