Main Page   Class Hierarchy   Compound List   File List   Header Files   Sources   Compound Members   File Members  

UnicodeToHexTransliterator Class Reference

A transliterator that converts from Unicode characters to hexadecimal Unicode escape sequences. More...

#include <unitohex.h>

Class diagram for UnicodeToHexTransliterator:

Transliterator

List of all members.


Public Members

 UnicodeToHexTransliterator (const UnicodeString& pattern, UBool isUppercase, UnicodeFilter* adoptedFilter, UErrorCode& status)
Constructs a transliterator. More...

 UnicodeToHexTransliterator (const UnicodeString& pattern, UErrorCode& status)
Constructs an uppercase transliterator with no filter. More...

 UnicodeToHexTransliterator (UnicodeFilter* adoptedFilter = 0)
Constructs a transliterator with the default prefix "\u" that outputs uppercase hex digits. More...

virtual ~UnicodeToHexTransliterator ()
Destructor. More...

 UnicodeToHexTransliterator (const UnicodeToHexTransliterator&)
Copy constructor. More...

UnicodeToHexTransliterator& operator= (const UnicodeToHexTransliterator&)
Assignment operator. More...

virtual Transliteratorclone (void) const
Transliterator API. More...

void applyPattern (const UnicodeString& thePattern, UErrorCode& status)
Set the pattern recognized by this transliterator. More...

const UnicodeStringtoPattern (void) const
Return this transliterator's pattern. More...

virtual UBool isUppercase (void) const
Returns true if this transliterator outputs uppercase hex digits. More...

virtual void setUppercase (UBool outputUppercase)
Sets if this transliterator outputs uppercase hex digits. More...

virtual void handleTransliterate (Replaceable& text, UTransPosition& offsets, UBool isIncremental) const
Implements. More...


Detailed Description

A transliterator that converts from Unicode characters to hexadecimal Unicode escape sequences.

It outputs a prefix specified in the constructor and optionally converts the hex digits to uppercase.

The format of the output is set by a pattern. This pattern follows the same syntax as HexToUnicodeTransliterator, except it does not allow multiple specifications. The pattern sets the prefix string, suffix string, and minimum and maximum digit count. There are no setters or getters for these attributes; they are set only through the pattern.

The setUppercase() and isUppercase() methods control whether 'a' through 'f' or 'A' through 'F' are output as hex digits. This is not controlled through the pattern; only through the methods. The default is uppercase.

Author(s):
Alan Liu

Definition at line 37 of file unitohex.h.


Member Function Documentation

UnicodeToHexTransliterator::UnicodeToHexTransliterator (const UnicodeString & pattern, UBool isUppercase, UnicodeFilter * adoptedFilter, UErrorCode & status)

Constructs a transliterator.

Parameters:
pattern   The pattern for this transliterator. See applyPattern() for pattern syntax.
uppercase   if true, the four hex digits will be converted to uppercase; otherwise they will be lowercase.
adoptedFilter   the filter for this transliterator, or NULL if none. Adopted by this transliterator.
status   Error code indicating success or failure to parse pattern.
Stable:

UnicodeToHexTransliterator::UnicodeToHexTransliterator (const UnicodeString & pattern, UErrorCode & status)

Constructs an uppercase transliterator with no filter.

Parameters:
pattern   The pattern for this transliterator. See applyPattern() for pattern syntax.
status   Error code indicating success or failure to parse pattern.

UnicodeToHexTransliterator::UnicodeToHexTransliterator (UnicodeFilter * adoptedFilter = 0)

Constructs a transliterator with the default prefix "\u" that outputs uppercase hex digits.

Stable:

UnicodeToHexTransliterator::~UnicodeToHexTransliterator () [inline, virtual]

Destructor.

Stable:

Definition at line 197 of file unitohex.h.

UnicodeToHexTransliterator::UnicodeToHexTransliterator (const UnicodeToHexTransliterator &)

Copy constructor.

Stable:

UnicodeToHexTransliterator & UnicodeToHexTransliterator::operator= (const UnicodeToHexTransliterator &)

Assignment operator.

Stable:

virtual Transliterator * UnicodeToHexTransliterator::clone (void) const [virtual]

Transliterator API.

Stable:

Reimplemented from Transliterator.

void UnicodeToHexTransliterator::applyPattern (const UnicodeString & thePattern, UErrorCode & status)

Set the pattern recognized by this transliterator.

The pattern must contain zero or more prefix characters, one or more digit characters, and zero or more suffix characters. The digit characters indicates optional digits ('#') followed by required digits ('0'). The total number of digits cannot exceed 4, and must be at least 1 required digit. Use a backslash ('\') to escape any of the special characters. An empty pattern is not allowed.

Example: "U+0000" specifies a prefix of "U+", exactly four digits, and no suffix. "<###0>" has a prefix of "<", between one and four digits, and a suffix of ">".

 pattern := prefix-char* digit-spec suffix-char*
 digit-spec := '#'* '0'+
 prefix-char := [^special-char] | '\\' special-char
 suffix-char := [^special-char] | '\\' special-char
 special-char := ';' | '0' | '#' | '\\'
 

Limitations: There is no way to set the uppercase attribute in the pattern. (applyPattern() does not alter the uppercase attribute.)

Stable:

const UnicodeString & UnicodeToHexTransliterator::toPattern (void) const

Return this transliterator's pattern.

Stable:

virtual UBool UnicodeToHexTransliterator::isUppercase (void) const [virtual]

Returns true if this transliterator outputs uppercase hex digits.

Stable:

virtual void UnicodeToHexTransliterator::setUppercase (UBool outputUppercase) [virtual]

Sets if this transliterator outputs uppercase hex digits.

Stable:

virtual void UnicodeToHexTransliterator::handleTransliterate (Replaceable & text, UTransPosition & offsets, UBool isIncremental) const [virtual]

Implements.

Transliterator#handleTransliterate.

Draft:

Reimplemented from Transliterator.


The documentation for this class was generated from the following file:
Generated at Wed Aug 16 16:05:56 2000 for ICU1.6 by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999