mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
2eac4d0fb4
conversion to iconv. [ruby-core:06520] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
37 lines
645 B
Ruby
37 lines
645 B
Ruby
module REXML
|
|
module Encoding
|
|
begin
|
|
require 'uconv'
|
|
|
|
def decode_sjis content
|
|
Uconv::sjistou8(content)
|
|
end
|
|
|
|
def encode_sjis(str)
|
|
Uconv::u8tosjis(str)
|
|
end
|
|
rescue LoadError
|
|
require 'nkf'
|
|
|
|
SJISTOU8 = '-Swm0'
|
|
U8TOSJIS = '-Wsm0'
|
|
|
|
def decode_sjis(str)
|
|
NKF.nkf(SJISTOU8, str)
|
|
end
|
|
|
|
def encode_sjis content
|
|
NKF.nkf(U8TOSJIS, content)
|
|
end
|
|
end
|
|
|
|
b = proc do |obj|
|
|
class << obj
|
|
alias decode decode_sjis
|
|
alias encode encode_sjis
|
|
end
|
|
end
|
|
register("SHIFT-JIS", &b)
|
|
register("SHIFT_JIS", &b)
|
|
end
|
|
end
|