AI-generated Key Takeaways
-
The
IDNclass converts internationalized domain names (IDNs) between Unicode and ASCII Compatible Encoding (ACE) as defined in RFC 3490. -
It provides methods
toASCIIandtoUnicodefor converting between these formats, handling both individual labels and entire domain names. -
The constants
ALLOW_UNASSIGNEDandUSE_STD3_ASCII_RULESallow for control over the conversion process. -
An
IllegalArgumentExceptionis thrown if the input totoASCIIdoes not conform to RFC 3490.
Converts internationalized domain names between Unicode and the ASCII Compatible Encoding (ACE) representation.
See RFC 3490 for full details.
Constant Summary
| int | ALLOW_UNASSIGNED | When set, allows IDN to process unassigned unicode points. |
| int | USE_STD3_ASCII_RULES | When set, ASCII strings are checked against RFC 1122 and RFC 1123. |
Public Method Summary
| static String | |
| static String | |
| static String | |
| static String |
Inherited Method Summary
Constants
public static final int ALLOW_UNASSIGNED
When set, allows IDN to process unassigned unicode points.
Public Methods
public static String toASCII (String input, int flags)
Transform a Unicode String to ASCII Compatible Encoding String according to the algorithm defined in RFC 3490.
If the transformation fails (because the input is not a valid IDN), an exception will be thrown.
This method can handle either an individual label or an entire domain name. In the latter case, the separators are: U+002E (full stop), U+3002 (ideographic full stop), U+FF0E (fullwidth full stop), and U+FF61 (halfwidth ideographic full stop). All of these will become U+002E (full stop) in the result.
Parameters
| input | the Unicode name |
|---|---|
| flags | 0, ALLOW_UNASSIGNED, USE_STD3_ASCII_RULES,
or ALLOW_UNASSIGNED | USE_STD3_ASCII_RULES |
Returns
- the ACE name
Throws
| IllegalArgumentException | if input does not conform to RFC 3490
|
|---|
public static String toASCII (String input)
Equivalent to toASCII(input, 0).
Parameters
| input | the Unicode name |
|---|
Returns
- the ACE name
Throws
| IllegalArgumentException | if input does not conform to RFC 3490
|
|---|
public static String toUnicode (String input, int flags)
Translates a string from ASCII Compatible Encoding (ACE) to Unicode according to the algorithm defined in RFC 3490.
Unlike toASCII, this transformation cannot fail.
This method can handle either an individual label or an entire domain name. In the latter case, the separators are: U+002E (full stop), U+3002 (ideographic full stop), U+FF0E (fullwidth full stop), and U+FF61 (halfwidth ideographic full stop).
Parameters
| input | the ACE name |
|---|---|
| flags | 0, ALLOW_UNASSIGNED, USE_STD3_ASCII_RULES,
or ALLOW_UNASSIGNED | USE_STD3_ASCII_RULES
|
Returns
- the Unicode name