AI-generated Key Takeaways
-
The
IDN
class converts internationalized domain names (IDNs) between Unicode and ASCII Compatible Encoding (ACE) as defined in RFC 3490. -
It provides methods
toASCII
andtoUnicode
for converting between these formats, handling both individual labels and entire domain names. -
The constants
ALLOW_UNASSIGNED
andUSE_STD3_ASCII_RULES
allow for control over the conversion process. -
An
IllegalArgumentException
is thrown if the input totoASCII
does 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