[2001/02/07] rubikitch
[2001/02/11] 荒井: 更新
定义了MIME Base64解码/编码方法。该库可兼作base64编码的范例脚本。
Base64是一种编码方法, 它只用ASCII码中的65个字符(包括[A-Za-z0-9+/]这64个字符和用作padding的'=')将3字节(8bits * 3 = 24bits)的二进制代码变为4字节(6bits * 4 = 24bits)的可印刷字符串。RFC 2045文件对其做出了详细的规定。
irb> require 'base64'
true
irb> b64encode("日本语")
xvzL3Ljs
"xvzL3Ljs\n"
irb> decode64('xvzL3Ljs')
"日本语"
irb> decode_b("日本语")
xvzL3Ljs
"日本语"
irb> decode_b("=?ISO-2022-JP?B?QyAbJEI4QDhsJV0lJCVzJT80MEE0QClHRhsoQg==?=")
"C 言语POINTER完全制霸"
decode64(str)对经过Base64编码的str字符串进行解码。
encode64(str)对str字符串进行Base64编码。
decode_b(str)对包含RFC 2047中定义的encoded-word的str字符串进行解码。
encoded-word 是形如
"=?" + charset + "?" + encoding + "?" + encoded-text + "?="
的字符串, 通常出现在邮件头中。
该函数只支持"iso-2022-jp"和"shift_jis"类型的charset以及"B"-encoding (Base64)类型的encoding。
b64encode(bin, len = 60)对bin字符串进行编码, 在长度为len的地方返回,并显示结果。