Module: LibXML::XML::Encoding

Defined in:
ext/libxml/ruby_xml_encoding.c

Constant Summary collapse

UNDEFINED =
INT2NUM(XPATH_UNDEFINED)
ERROR =

No char encoding detected

INT2NUM(XML_CHAR_ENCODING_ERROR)
NONE =

No char encoding detected

INT2NUM(XML_CHAR_ENCODING_NONE)
UTF_8 =

UTF-8

INT2NUM(XML_CHAR_ENCODING_UTF8)
UTF_16LE =

UTF-16 little endian

INT2NUM(XML_CHAR_ENCODING_UTF16LE)
UTF_16BE =

UTF-16 big endian

INT2NUM(XML_CHAR_ENCODING_UTF16BE)
UCS_4LE =

UCS-4 little endian

INT2NUM(XML_CHAR_ENCODING_UCS4LE)
UCS_4BE =

UCS-4 big endian

INT2NUM(XML_CHAR_ENCODING_UCS4BE)
EBCDIC =

EBCDIC uh!

INT2NUM(XML_CHAR_ENCODING_EBCDIC)
UCS_4_2143 =

UCS-4 unusual ordering

INT2NUM(XML_CHAR_ENCODING_UCS4_2143)
UCS_4_3412 =

UCS-4 unusual ordering

INT2NUM(XML_CHAR_ENCODING_UCS4_3412)
UCS_2 =

UCS-2

INT2NUM(XML_CHAR_ENCODING_UCS2)
ISO_8859_1 =

ISO-8859-1 ISO Latin 1

INT2NUM(XML_CHAR_ENCODING_8859_1)
ISO_8859_2 =

ISO-8859-2 ISO Latin 2

INT2NUM(XML_CHAR_ENCODING_8859_2)
ISO_8859_3 =

ISO-8859-3

INT2NUM(XML_CHAR_ENCODING_8859_3)
ISO_8859_4 =

ISO-8859-4

INT2NUM(XML_CHAR_ENCODING_8859_4)
ISO_8859_5 =

ISO-8859-5

INT2NUM(XML_CHAR_ENCODING_8859_5)
ISO_8859_6 =

ISO-8859-6

INT2NUM(XML_CHAR_ENCODING_8859_6)
ISO_8859_7 =

ISO-8859-7

INT2NUM(XML_CHAR_ENCODING_8859_7)
ISO_8859_8 =

ISO-8859-8

INT2NUM(XML_CHAR_ENCODING_8859_8)
ISO_8859_9 =

ISO-8859-9

INT2NUM(XML_CHAR_ENCODING_8859_9)
ISO_2022_JP =

ISO-2022-JP

INT2NUM(XML_CHAR_ENCODING_2022_JP)
SHIFT_JIS =

Shift_JIS

INT2NUM(XML_CHAR_ENCODING_SHIFT_JIS)
EUC_JP =

EUC-JP

INT2NUM(XML_CHAR_ENCODING_EUC_JP)
ASCII =

pure ASCII

INT2NUM(XML_CHAR_ENCODING_ASCII)

Class Method Summary collapse

Class Method Details

.s_to_encoding("UTF_8") ⇒ XML::Encoding::UTF_8

Converts an encoding string to an encoding constant defined on the XML::Encoding class.



51
52
53
54
55
56
57
58
59
60
# File 'ext/libxml/ruby_xml_encoding.c', line 51

static VALUE rxml_encoding_from_s(VALUE klass, VALUE encoding)
{
  xmlCharEncoding xencoding;
  
  if (encoding == Qnil)
    return Qnil;

  xencoding = xmlParseCharEncoding(StringValuePtr(encoding));
  return NUM2INT(xencoding);
}

.encoding_to_s(Input: :ENCODING) ⇒ Object

Converts an encoding contstant defined on the XML::Encoding class to its text representation.



69
70
71
72
73
74
75
76
77
# File 'ext/libxml/ruby_xml_encoding.c', line 69

static VALUE rxml_encoding_to_s(VALUE klass, VALUE encoding)
{
  const char* xecoding = xmlGetCharEncodingName(NUM2INT(encoding));

  if (!xecoding)
    return Qnil;
  else
    return rb_str_new2(xecoding);
}