From: WATANABE Hirofumi Date: 1996-11-13T10:22:45+09:00 Subject: [ruby-list:1015] decode64 渡辺@ソニーです. yet another な decode64 です. perl からの移植. uuencoded format に変換しちゃうってのがなかなかのアイディアですね. def decode64(str) string = '' for line in str.split("\n") line.delete!('^A-Za-z0-9+') # remove non-base64 chars line.tr!('A-Za-z0-9+', ' -_') # convert to uuencoded format len = ["#{32 + line.length * 3 / 4}"].pack("c") # compute length byte string += "#{len}#{line}".unpack("u") # uudecode and concatenate end return string end オリジナルは Tom Christiansen の #!/usr/bin/perl while (<>) { tr#A-Za-z0-9+/##cd; # remove non-base64 chars tr#A-Za-z0-9+/# -_#; # convert to uuencoded format $len = pack("c", 32 + 0.75*length); # compute length byte print unpack("u", $len . $_); # uudecode and print } です. -- わたなべひろふみ