diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-17 20:58:34 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-17 20:58:34 +0000 |
commit | 51b031093069dd4a89e25b6057f1eca8c0c7e24e (patch) | |
tree | e06ff239b5647ee8ecb1d9c507a5655e683ad948 /lib/base64.rb | |
parent | c611b6d0cc50af72847ddb7c1d0f31aa3b18da25 (diff) |
* lib/Env.rb, lib/base64.rb, lib/importenv.rb, lib/eregex.rb: removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/base64.rb')
-rw-r--r-- | lib/base64.rb | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/lib/base64.rb b/lib/base64.rb deleted file mode 100644 index f062da2b4c..0000000000 --- a/lib/base64.rb +++ /dev/null @@ -1,136 +0,0 @@ -# -# = base64.rb: methods for base64-encoding and -decoding stings -# -# Author:: Yukihiro Matsumoto -# Documentation:: Dave Thomas and Gavin Sinclair -# -# Until Ruby 1.8.1, these methods were defined at the top-level. Now -# they are in the Base64 module but included in the top-level, where -# their usage is deprecated. -# -# See Base64 for documentation. -# - -require "kconv" - - -# The Base64 module provides for the encoding (#encode64) and decoding -# (#decode64) of binary data using a Base64 representation. -# -# The following particular features are also provided: -# - encode into lines of a given length (#b64encode) -# - decode the special format specified in RFC2047 for the -# representation of email headers (decode_b) -# -# == Example -# -# A simple encoding and decoding. -# -# require "base64" -# -# enc = Base64.encode64('Send reinforcements') -# # -> "U2VuZCByZWluZm9yY2VtZW50cw==\n" -# plain = Base64.decode64(enc) -# # -> "Send reinforcements" -# -# The purpose of using base64 to encode data is that it translates any -# binary data into purely printable characters. It is specified in -# RFC 2045 (http://www.faqs.org/rfcs/rfc2045.html). - -module Base64 - module_function - - # Returns the Base64-decoded version of +str+. - # - # require 'base64' - # str = 'VGhpcyBpcyBsaW5lIG9uZQpUaGlzIG' + - # 'lzIGxpbmUgdHdvClRoaXMgaXMgbGlu' + - # 'ZSB0aHJlZQpBbmQgc28gb24uLi4K' - # puts Base64.decode64(str) - # - # <i>Generates:</i> - # - # This is line one - # This is line two - # This is line three - # And so on... - - def decode64(str) - str.unpack("m")[0] - end - - - # Decodes text formatted using a subset of RFC2047 (the one used for - # mime-encoding mail headers). - # - # Only supports an encoding type of 'b' (base 64), and only supports - # the character sets ISO-2022-JP and SHIFT_JIS (so the only two - # encoded word sequences recognized are <tt>=?ISO-2022-JP?B?...=</tt> and - # <tt>=?SHIFT_JIS?B?...=</tt>). Recognition of these sequences is case - # insensitive. - - def decode_b(str) - str.gsub!(/=\?ISO-2022-JP\?B\?([!->@-~]+)\?=/i) { - decode64($1) - } - str = Kconv::toeuc(str) - str.gsub!(/=\?SHIFT_JIS\?B\?([!->@-~]+)\?=/i) { - decode64($1) - } - str = Kconv::toeuc(str) - str.gsub!(/\n/, ' ') - str.gsub!(/\0/, '') - str - end - - # Returns the Base64-encoded version of +str+. - # - # require 'base64' - # Base64.b64encode("Now is the time for all good coders\nto learn Ruby") - # - # <i>Generates:</i> - # - # Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g - # UnVieQ== - - def encode64(bin) - [bin].pack("m") - end - - # _Prints_ the Base64 encoded version of +bin+ (a +String+) in lines of - # +len+ (default 60) characters. - # - # require 'base64' - # data = "Now is the time for all good coders\nto learn Ruby" - # Base64.b64encode(data) - # - # <i>Generates:</i> - # - # Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g - # UnVieQ== - - def b64encode(bin, len = 60) - encode64(bin).scan(/.{1,#{len}}/) do - print $&, "\n" - end - end - - - module Deprecated # :nodoc: - include Base64 - - def _deprecated_base64(*args) - m0, m1 = caller(0) - m = m0[/\`(.*?)\'\z/, 1] - warn("#{m1}: #{m} is deprecated; use Base64.#{m} instead") - super - end - dep = instance_method(:_deprecated_base64) - remove_method(:_deprecated_base64) - for m in Base64.private_instance_methods(false) - define_method(m, dep) - end - end -end - -include Base64::Deprecated |