Sha256: afc2a8bae15edd40704e338ba09b2eb0169e1abd16d59dfce8bffea8e4d1d9fe
Contents?: true
Size: 1.81 KB
Versions: 1
Compression:
Stored size: 1.81 KB
Contents
require 'mure/version' module Mure TABLE = { '000000' => 'A', '000001' => 'B', '000010' => 'C', '000011' => 'D', '000100' => 'E', '000101' => 'F', '000110' => 'G', '000111' => 'H', '001000' => 'I', '001001' => 'J', '001010' => 'K', '001011' => 'L', '001100' => 'M', '001101' => 'N', '001110' => 'O', '001111' => 'P', '010000' => 'Q', '010001' => 'R', '010010' => 'S', '010011' => 'T', '010100' => 'U', '010101' => 'V', '010110' => 'W', '010111' => 'X', '011000' => 'Y', '011001' => 'Z', '011010' => 'a', '011011' => 'b', '011100' => 'c', '011101' => 'd', '011110' => 'e', '011111' => 'f', '100000' => 'g', '100001' => 'h', '100010' => 'i', '100011' => 'j', '100100' => 'k', '100101' => 'l', '100110' => 'm', '100111' => 'n', '101000' => 'o', '101001' => 'p', '101010' => 'q', '101011' => 'r', '101100' => 's', '101101' => 't', '101110' => 'u', '101111' => 'v', '110000' => 'w', '110001' => 'x', '110010' => 'y', '110011' => 'z', '110100' => '0', '110101' => '1', '110110' => '2', '110111' => '3', '111000' => '4', '111001' => '5', '111010' => '6', '111011' => '7', '111100' => '8', '111101' => '9', '111110' => '+', '111111' => '/' }.freeze def self.encode64(text) # NOTE: String#unpackは、エンディアンに依存しそう。。。 binary_text = text.unpack('B*')[0] loop do break if (binary_text.size % 6).zero? binary_text << '0' end encoded_text = binary_text.each_char.each_slice(6).map { |str| TABLE.fetch(str.join) }.join loop do break if (encoded_text.size % 4).zero? encoded_text << '=' end encoded_text end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mure-0.1.0 | lib/mure.rb |