Python/Ruby/JavaでBase64エンコード

base64とは

Base64は、データを64種類の印字可能な英数字のみを用いて、それ以外の文字を扱うことの出来ない通信環境にてマルチバイト文字やバイナリデータを扱うためのエンコード方式である。
http://ja.wikipedia.org/wiki/Base64

画像をエンコードした文字列をimgタグのsrc属性に渡して画像を表示したりするのにも使ったりします

python

import base64

print base64.b64encode('volume contrast brilliance')
# => dm9sdW1lIGNvbnRyYXN0IGJyaWxsaWFuY2U=

ruby

require 'base64'

p b64encode("volume contrast brilliance")

# => "dm9sdW1lIGNvbnRyYXN0IGJyaWxsaWFuY2U=\n"


# これでも同じ
p ["volume contrast brilliance"].pack("m")
# => "dm9sdW1lIGNvbnRyYXN0IGJyaWxsaWFuY2U=\n"

java

デフォルトでは用意されていない
以下はcommons codecを使った場合

http://commons.apache.org/codec/

import org.apache.commons.codec.binary.Base64;

public class Base64Sample {
    public static void main(String[] args){
        String result = new String(Base64.encodeBase64("volume contrast brilliance".getBytes()));
        System.out.println(result);
    }
}

# => dm9sdW1lIGNvbnRyYXN0IGJyaWxsaWFuY2U=