ruby/lib/rexml/encodings/US-ASCII.rb
ser 7a07ba45a0 REXML changes backported from the 1.9 branch:
* Minor source documentation changes
* Changes to the pretty-printing code, including the addition of the word-
  wrap submission.
* Bug fix for missing quotations in NOTATION DTD items
* Bug fixes and improvements to whitespace handling in text nodes
* Refactoring and bug fixes in encoding support
* Minor speed optimizations in the core parser
* Bug fixes in the SAX2 parserthe core parser
* Copyright fixes
* Version bump to REXML 3.0.0
* A change that caused speed degredation has been reversed
* Addition of a value=() method in Text, for replacing the contents of
  a text node
* Fixed the document order of the descendant-or-self axis in XPath


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-02 03:26:19 +00:00

25 lines
545 B
Ruby

module REXML
module Encoding
@@__REXML_encoding_methods = %q~
# Convert from UTF-8
def encode content
array_utf8 = content.unpack('U*')
array_enc = []
array_utf8.each do |num|
if num <= 0xFF
array_enc << num
else
# Numeric entity (&#nnnn;); shard by Stefan Scholl
array_enc.concat "&\##{num};".unpack('C*')
end
end
array_enc.pack('C*')
end
# Convert to UTF-8
def decode(str)
str.unpack('C*').pack('U*')
end
~
end
end