eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'CharacterEncoderImplementations::ISO10646_to_UTF16LE':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: ISO10646_to_UTF16LE (in CharacterEncoderImplementations)


Inheritance:

   Object
   |
   +--CharacterEncoder
      |
      +--CharacterEncoderImplementations::VariableBytesEncoder
         |
         +--CharacterEncoderImplementations::ISO10646_to_UTF16BE
            |
            +--CharacterEncoderImplementations::ISO10646_to_UTF16LE

Package:
stx:libbasic
Category:
Collections-Text-Encodings
Version:
rev: 1.8 date: 2018/01/19 13:42:50
user: stefan
file: CharacterEncoderImplementations__ISO10646_to_UTF16LE.st directory: libbasic
module: stx stc-classLibrary: libbasic

Description:


encodes/decodes UTF16 LittleEndian (little-end-first)

Notice the naming (many are confused):
    Unicode is the set of number-to-glyph assignments
whereas:
    UTF8, UTF16 etc. are a concrete way of xmitting Unicode codePoints (numbers).

ST/X NEVER uses UTF8 or UTF16 internally - all characters are full 24bit characters.
Only when exchanging data, are these converted into UTF8 (or other) byte sequences.


Instance protocol:

encoding & decoding
o  decode: codePoint

o  encode: codePoint

o  encodeString: aUnicodeString
return the UTF-16 representation of a aUnicodeString.
The resulting string is only useful to be stored on some external file,
not for being used inside ST/X.

o  encodeString: aUnicodeString on: aStream
given a string in unicode, encode it onto aStream.

private
o  nextTwoByteValueFrom: aStream

queries
o  nameOfEncoding

stream support
o  encodeCharacter: aUnicodeCharacter on: aStream
given a character in unicode, encode it onto aStream.


Examples:


Encoding (unicode to utf16LE) ISO10646_to_UTF16LE encodeString:'hello'. Decoding (utf16LE to unicode): |t| t := ISO10646_to_UTF16LE encodeString:'ÄÖÜäöüß'. ISO10646_to_UTF16LE decodeString:t. Decoding (utf16LE-Bytes to unicode): |bytes| bytes := #[ 16r40 0 16r41 0 16r42 0 16r43 0 16r44 0 ]. ISO10646_to_UTF16LE decodeString:bytes.

ST/X 7.1.0.0; WebServer 1.663 at exept.de:8081; Mon, 19 Nov 2018 09:41:21 GMT