summaryrefslogtreecommitdiff
path: root/ruby_1_8_6/lib/rexml/encodings/ICONV.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_1_8_6/lib/rexml/encodings/ICONV.rb')
-rw-r--r--ruby_1_8_6/lib/rexml/encodings/ICONV.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/ruby_1_8_6/lib/rexml/encodings/ICONV.rb b/ruby_1_8_6/lib/rexml/encodings/ICONV.rb
new file mode 100644
index 0000000000..172fba7cd1
--- /dev/null
+++ b/ruby_1_8_6/lib/rexml/encodings/ICONV.rb
@@ -0,0 +1,22 @@
+require "iconv"
+raise LoadError unless defined? Iconv
+
+module REXML
+ module Encoding
+ def decode_iconv(str)
+ Iconv.conv(UTF_8, @encoding, str)
+ end
+
+ def encode_iconv(content)
+ Iconv.conv(@encoding, UTF_8, content)
+ end
+
+ register("ICONV") do |obj|
+ Iconv.conv(UTF_8, obj.encoding, nil)
+ class << obj
+ alias decode decode_iconv
+ alias encode encode_iconv
+ end
+ end
+ end
+end