Ansicht
Dokumentation

RSCP_IDNA_ICU - Demonstration of IDNA Conversion (CL_ICU_IDNA)

RSCP_IDNA_ICU - Demonstration of IDNA Conversion (CL_ICU_IDNA)

Fill RESBD Structure from EBP Component Structure   ROGBILLS - Synchronize billing plans  
This documentation is copyright by SAP AG.
SAP E-Book

Purpose

IDN (Internationalized Domain Name) is an internet domain name that contains non-ASCII characters.
Such domain names could contains letters with diacritics, as required by many European languages, or characters from non-Latin scripts such Arabic or Chinese.
IDNA (Internationalized Domain Names in Applications ) is a mechanism provided by ICU to allow applications to support such domain names.

This Report shows the implementation of IDNA mechanism within class CL_ICU_IDNA.

Integration

Prerequisites

Features

Class CL_ICU_IDNA basically supports two ICU operations: ToASCII and ToUnicode.

ToASCII: Performed on domain labels before sending the name to a resolver and before storing the name in the Domain Name Service (DNS) lookup table. The domain labels are processed by ICU StringPrep algorithm by using the rules specified by ICU NamePrep profile. The output of this step is then encoded by using Punycode. An ACE prefix is added to denote that the text is encoded using Punycode. IDNA uses #xn--# before the encoded label.

ToUnicode: This operation is performed on domain labels before displaying the names to users. If the domain label is prefixed with the ACE prefix for IDNA, then the label excluding the prefix is decoded using Punycode. The output of Punycode decoder is verified by applying ToASCII operation and comparing the output with the input to the ToUnicode operation.

How to Use

Insert any Unicode domain name into the corresponding input field and execute (F8).
Default value is 'www.bücher.de'.

You can select one of the following options

  • ,,Default: Prohibit processing of unassigned code points** in the input string and do not check if it conforms toSTD-3 ASCII rules*.
  • ,,Allow Unassigned: Allow processing of unassigned code points** within the input string.
  • ,,Use standard rule: Check if input string conforms to STD-3 ASCII rules.

The output screen shows:

  • The input URL.
  • The result of conversion to Punycode (ICU operation ToASCII).
  • The result of reconversion to Unicode (ICU operation ToUnicode), using the Punycode converted string (above) as input.


By checking the option 'Hexadecimal Output', the above results are displayed with corresponding hexadecimal values.

* STD-3 rules: see http://unicode.org/reports/tr46/#STD3_Rules for details.
**Unassigned code points = code points that are not supported in the current Unicode version of ICU.

Selection

Standard Variants

Output

Activities

Example






ROGBILLS - Synchronize billing plans   General Data in Customer Master  
This documentation is copyright by SAP AG.

Length: 3056 Date: 20240601 Time: 103521     sap01-206 ( 55 ms )