NewFromAsciiCodepage (CharacterToUnicodeMap function)

From m204wiki
Revision as of 15:34, 3 October 2013 by Dme (talk | contribs) (→‎Usage notes)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Create CharacterToUnicodeMap object from ASCII codepage (CharacterToUnicodeMap class)

[Introduced in Sirius Mods 8.0]

This method lets you dynamically select a particular codepage for specific data needs without having to change your system-wide codepage.


%characterToUnicodeMap = [%(CharacterToUnicodeMap):]NewFromAsciiCodepage( codepageName)

Syntax terms

%CharacterToUnicodeMapA CharacterToUnicodeMap object.
[%(CharacterToUnicodeMap):] The optional class name in parentheses denotes a virtual constructor. See "Usage notes", below, for more information about invoking a virtual constructor.
codepageName A string that identifies one of the currently supported codepages at your site. You can view (and manage) these codepages with the UNICODE command.

Usage notes

  • The only allowed values of the codepageName argument are 1250 and 1252.
  • NewFromAsciiCodepage is a virtual constructor and as such can be called with no method object, with an explicit class name, or with an object variable, even if that object is null:

    %charToUmap = newFromAsciiCodepage('1252') %charToUmap = %(CharacterToUnicodeMap):newFromAsciiCodepage('1252') %charToUmap = %charToUmap:newFromAsciiCodepage('1252')

  • The only two codepages supported as input parameters to NewFromAsciiCodepage are '1250' and 1252'.


The following code sequence shows the use of an ASCII codepage (available with Sirius Mods 8.0), which maps the ASCII X'80' character (normally the Euro sign) to the Unicode character for the Euro, U+20AC:

%tr is object characterToUnicodeMap %tr = newFromAsciiCodepage('1252') %u = ('80':x):characterToUnicode(%tr) Printtext {~} is {%u:UnicodeToUtf16:StringToHex}

The result is:

%u:UnicodeToUtf16:StringToHex is 20AC

See also