module Base64

[edit]

要約

Base64 エンコード / デコードするためのメソッドを定義したモジュールです。

目次

モジュール関数

モジュール関数

decode64(str) -> String[permalink][rdoc][edit]

与えられた文字列を Base64 デコードしたデータを返します。

このメソッドは [RFC2045] に対応しています。

[PARAM] str:
Base64 デコードする文字列を指定します。
require 'base64'
str = 'VGhpcyBpcyBsaW5lIG9uZQpUaGlzIG' +
      'lzIGxpbmUgdHdvClRoaXMgaXMgbGlu' +
      'ZSB0aHJlZQpBbmQgc28gb24uLi4K'
puts Base64.decode64(str)

# This is line one
# This is line two
# This is line three
# And so on...
encode64(bin) -> String[permalink][rdoc][edit]

与えられたデータを Base64 エンコードした文字列を返します。

このメソッドは [RFC2045] に対応しています。エンコード後の文字で 60 文字ごとに改行を追加します。

[PARAM] bin:
Base64 エンコードするデータを指定します。
require 'base64'
Base64.encode64("Now is the time for all good coders\nto learn Ruby")

# => Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g
#    UnVieQ==
strict_decode64(str) -> String[permalink][rdoc][edit]

与えられた文字列を Base64 デコードしたデータを返します。

このメソッドは [RFC4648] に対応しています。

[PARAM] str:
Base64 デコードする文字列を指定します。
[EXCEPTION] ArgumentError:
与えられた引数が Base64 エンコードされたデータとして正しい形式ではない場合に発生します。例えば、アルファベットでない文字列や CR, LF などが含まれている場合にこの例外は発生します。
strict_encode64(bin) -> String[permalink][rdoc][edit]

与えられたデータを Base64 エンコードした文字列を返します。

このメソッドは [RFC4648] に対応しています。改行コードを追加することはありません。

[PARAM] bin:
Base64 エンコードするデータを指定します。
urlsafe_decode64(str) -> String[permalink][rdoc][edit]

与えられた文字列を Base64 デコードしたデータを返します。

このメソッドは [RFC4648] の "Base 64 Encoding with URL and Filename Safe Alphabet" に対応しています。 "+" を "-" に "/" を "_" に置き換えます。

[PARAM] str:
Base64 デコードする文字列を指定します。
[EXCEPTION] ArgumentError:
与えられた引数が Base64 エンコードされたデータとして正しい形式ではない場合に発生します。例えば、アルファベットでない文字列や CR, LF などが含まれている場合にこの例外は発生します。
urlsafe_encode64(bin, padding: true) -> String[permalink][rdoc][edit]

与えられたデータを Base64 エンコードした文字列を返します。

このメソッドは [RFC4648] の "Base 64 Encoding with URL and Filename Safe Alphabet" に対応しています。 "+" を "-" に "/" を "_" に置き換えます。

デフォルトでは戻り値は = によるパディングを含むことがあります。パディングを含めたくない場合は、padding オプションに false を指定してください。

[PARAM] bin:
Base64 エンコードするデータを指定します。
[PARAM] padding:
false を指定した場合、 = によるパディングが行われなくなります。


require 'base64'

p Base64.urlsafe_encode64('hoge')
# => "aG9nZQ=="

p Base64.urlsafe_encode64('hoge', padding: false)
# => "aG9nZQ"