#!/usr/local/bin/ruby-latest -w # ver.0.1 Aug.24.2000 create require 'uconv' module Debug def u2e(chunk) chunk.gsub("\\\\u([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})") { Uconv::u16toeuc("%c%c" % [$2.hex, $1.hex]) } end def e2u(chunk) chunk.gsub("([¡¡-ô¦])") { "\\u" + Uconv::euctou16($1).unpack("C*").reverse.collect {|x| "%02X" % x}.join } end module_function :u2e, :e2u end class String def u2e Debug::u2e(self) end def e2u Debug::e2u(self) end end if __FILE__ == $0 require 'dump' encode = false if ARGV[0] == "-encode" ARGV.shift encode = true end if /encode/ === $0 || /e2u/ === $0 || encode while gets print $_.e2u end else while gets print $_.u2e end end end