public static enum TruffleString.Encoding extends Enum<TruffleString.Encoding>
TruffleString
. TruffleString
is especially
optimized for the following encodings:
UTF-32
: this means UTF-32 in your system's endianness.
TruffleString
transparently compacts UTF-32 strings to 8-bit or 16-bit
representations, where possible.UTF-16
: this means UTF-16 in your system's endianness.
TruffleString
transparently compacts UTF-16 strings to 8-bit representations, where
possible.UTF-8
ISO-8859-1
US-ASCII
BYTES
, which is essentially identical to US-ASCII, with the only difference being
that BYTES
treats all byte values as valid codepoints.All other encodings are supported using the JRuby JCodings library, which incurs more
CompilerDirectives.TruffleBoundary
calls. NOTE: to enable support for these encodings,
TruffleLanguage.Registration#needsAllEncodings()
must be set to true
in the
truffle language's registration.Enum.EnumDesc<E extends Enum<E>>
Enum Constant and Description |
---|
Big5
Big5.
|
Big5_HKSCS
Big5-HKSCS.
|
Big5_UAO
Big5-UAO.
|
BYTES
Special "encoding" BYTES: This encoding is identical to US-ASCII, but treats all values
outside the us-ascii range as valid codepoints as well.
|
CESU_8
CESU-8.
|
CP50220
CP50220.
|
CP50221
CP50221.
|
CP51932
CP51932.
|
CP850
CP850.
|
CP852
CP852.
|
CP855
CP855.
|
CP949
CP949.
|
CP950
CP950.
|
CP951
CP951.
|
Emacs_Mule
Emacs-Mule.
|
EUC_JIS_2004
EUC-JIS-2004.
|
EUC_JP
EUC-JP.
|
EUC_KR
EUC-KR.
|
EUC_TW
EUC-TW.
|
EucJP_ms
EucJP-ms.
|
GB12345
GB12345.
|
GB18030
GB18030.
|
GB1988
GB1988.
|
GB2312
GB2312.
|
GBK
GBK.
|
IBM037
IBM037.
|
IBM437
IBM437.
|
IBM720
IBM720.
|
IBM737
IBM737.
|
IBM775
IBM775.
|
IBM852
IBM852.
|
IBM855
IBM855.
|
IBM857
IBM857.
|
IBM860
IBM860.
|
IBM861
IBM861.
|
IBM862
IBM862.
|
IBM863
IBM863.
|
IBM864
IBM864.
|
IBM865
IBM865.
|
IBM866
IBM866.
|
IBM869
IBM869.
|
ISO_2022_JP
ISO-2022-JP.
|
ISO_2022_JP_2
ISO-2022-JP-2.
|
ISO_2022_JP_KDDI
ISO-2022-JP-KDDI.
|
ISO_8859_1
ISO-8859-1, also known as LATIN-1, which is equivalent to US-ASCII + the LATIN-1
Supplement Unicode block.
|
ISO_8859_10
ISO-8859-10.
|
ISO_8859_11
ISO-8859-11.
|
ISO_8859_13
ISO-8859-13.
|
ISO_8859_14
ISO-8859-14.
|
ISO_8859_15
ISO-8859-15.
|
ISO_8859_16
ISO-8859-16.
|
ISO_8859_2
ISO-8859-2.
|
ISO_8859_3
ISO-8859-3.
|
ISO_8859_4
ISO-8859-4.
|
ISO_8859_5
ISO-8859-5.
|
ISO_8859_6
ISO-8859-6.
|
ISO_8859_7
ISO-8859-7.
|
ISO_8859_8
ISO-8859-8.
|
ISO_8859_9
ISO-8859-9.
|
KOI8_R
KOI8-R.
|
KOI8_U
KOI8-U.
|
MacCentEuro
MacCentEuro.
|
MacCroatian
MacCroatian.
|
MacCyrillic
MacCyrillic.
|
MacGreek
MacGreek.
|
MacIceland
MacIceland.
|
MacJapanese
MacJapanese.
|
MacRoman
MacRoman.
|
MacRomania
MacRomania.
|
MacThai
MacThai.
|
MacTurkish
MacTurkish.
|
MacUkraine
MacUkraine.
|
Shift_JIS
Shift-JIS.
|
SJIS_DoCoMo
SJIS-DoCoMo.
|
SJIS_KDDI
SJIS-KDDI.
|
SJIS_SoftBank
SJIS-SoftBank.
|
Stateless_ISO_2022_JP
Stateless-ISO-2022-JP.
|
Stateless_ISO_2022_JP_KDDI
Stateless-ISO-2022-JP-KDDI.
|
TIS_620
TIS-620.
|
US_ASCII
US-ASCII, which maps only 7-bit characters.
|
UTF_16BE
UTF-16BE.
|
UTF_16LE
UTF-16LE.
|
UTF_32BE
UTF-32BE.
|
UTF_32LE
UTF-32LE.
|
UTF_7
UTF-7.
|
UTF_8
UTF-8.
|
UTF8_DoCoMo
UTF8-DoCoMo.
|
UTF8_KDDI
UTF8-KDDI.
|
UTF8_MAC
UTF8-MAC.
|
UTF8_SoftBank
UTF8-SoftBank.
|
Windows_1250
Windows-1250.
|
Windows_1251
Windows-1251.
|
Windows_1252
Windows-1252.
|
Windows_1253
Windows-1253.
|
Windows_1254
Windows-1254.
|
Windows_1255
Windows-1255.
|
Windows_1256
Windows-1256.
|
Windows_1257
Windows-1257.
|
Windows_1258
Windows-1258.
|
Windows_31J
Windows-31J.
|
Windows_874
Windows-874.
|
Modifier and Type | Field and Description |
---|---|
static TruffleString.Encoding |
UTF_16
UTF-16 in the current system's endianness, without byte-order mark, with
transparent string compaction.
|
static TruffleString.Encoding |
UTF_32
UTF-32 in the current system's endianness, without byte-order mark, with
transparent string compaction.
|
Modifier and Type | Method and Description |
---|---|
static TruffleString.Encoding |
fromJCodingName(String name)
Get the
TruffleString.Encoding corresponding to the given encoding name from the
JCodings library. |
TruffleString |
getEmpty()
Get an empty
TruffleString with this encoding. |
static TruffleString.Encoding |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static TruffleString.Encoding[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final TruffleString.Encoding UTF_32LE
public static final TruffleString.Encoding UTF_32BE
public static final TruffleString.Encoding UTF_16LE
public static final TruffleString.Encoding UTF_16BE
public static final TruffleString.Encoding ISO_8859_1
public static final TruffleString.Encoding UTF_8
public static final TruffleString.Encoding US_ASCII
public static final TruffleString.Encoding BYTES
TruffleString.SwitchEncodingNode
will
replace all of them with '?'
when converting from or to BYTES! To preserve all
bytes and "reinterpret" a BYTES string in another encoding, use
TruffleString.ForceEncodingNode
.public static final TruffleString.Encoding Big5
public static final TruffleString.Encoding Big5_HKSCS
public static final TruffleString.Encoding Big5_UAO
public static final TruffleString.Encoding CESU_8
public static final TruffleString.Encoding CP51932
public static final TruffleString.Encoding CP850
public static final TruffleString.Encoding CP852
public static final TruffleString.Encoding CP855
public static final TruffleString.Encoding CP949
public static final TruffleString.Encoding CP950
public static final TruffleString.Encoding CP951
public static final TruffleString.Encoding EUC_JIS_2004
public static final TruffleString.Encoding EUC_JP
public static final TruffleString.Encoding EUC_KR
public static final TruffleString.Encoding EUC_TW
public static final TruffleString.Encoding Emacs_Mule
public static final TruffleString.Encoding EucJP_ms
public static final TruffleString.Encoding GB12345
public static final TruffleString.Encoding GB18030
public static final TruffleString.Encoding GB1988
public static final TruffleString.Encoding GB2312
public static final TruffleString.Encoding GBK
public static final TruffleString.Encoding IBM437
public static final TruffleString.Encoding IBM720
public static final TruffleString.Encoding IBM737
public static final TruffleString.Encoding IBM775
public static final TruffleString.Encoding IBM852
public static final TruffleString.Encoding IBM855
public static final TruffleString.Encoding IBM857
public static final TruffleString.Encoding IBM860
public static final TruffleString.Encoding IBM861
public static final TruffleString.Encoding IBM862
public static final TruffleString.Encoding IBM863
public static final TruffleString.Encoding IBM864
public static final TruffleString.Encoding IBM865
public static final TruffleString.Encoding IBM866
public static final TruffleString.Encoding IBM869
public static final TruffleString.Encoding ISO_8859_10
public static final TruffleString.Encoding ISO_8859_11
public static final TruffleString.Encoding ISO_8859_13
public static final TruffleString.Encoding ISO_8859_14
public static final TruffleString.Encoding ISO_8859_15
public static final TruffleString.Encoding ISO_8859_16
public static final TruffleString.Encoding ISO_8859_2
public static final TruffleString.Encoding ISO_8859_3
public static final TruffleString.Encoding ISO_8859_4
public static final TruffleString.Encoding ISO_8859_5
public static final TruffleString.Encoding ISO_8859_6
public static final TruffleString.Encoding ISO_8859_7
public static final TruffleString.Encoding ISO_8859_8
public static final TruffleString.Encoding ISO_8859_9
public static final TruffleString.Encoding KOI8_R
public static final TruffleString.Encoding KOI8_U
public static final TruffleString.Encoding MacCentEuro
public static final TruffleString.Encoding MacCroatian
public static final TruffleString.Encoding MacCyrillic
public static final TruffleString.Encoding MacGreek
public static final TruffleString.Encoding MacIceland
public static final TruffleString.Encoding MacJapanese
public static final TruffleString.Encoding MacRoman
public static final TruffleString.Encoding MacRomania
public static final TruffleString.Encoding MacThai
public static final TruffleString.Encoding MacTurkish
public static final TruffleString.Encoding MacUkraine
public static final TruffleString.Encoding SJIS_DoCoMo
public static final TruffleString.Encoding SJIS_KDDI
public static final TruffleString.Encoding SJIS_SoftBank
public static final TruffleString.Encoding Shift_JIS
public static final TruffleString.Encoding Stateless_ISO_2022_JP
public static final TruffleString.Encoding Stateless_ISO_2022_JP_KDDI
public static final TruffleString.Encoding TIS_620
public static final TruffleString.Encoding UTF8_DoCoMo
public static final TruffleString.Encoding UTF8_KDDI
public static final TruffleString.Encoding UTF8_MAC
public static final TruffleString.Encoding UTF8_SoftBank
public static final TruffleString.Encoding Windows_1250
public static final TruffleString.Encoding Windows_1251
public static final TruffleString.Encoding Windows_1252
public static final TruffleString.Encoding Windows_1253
public static final TruffleString.Encoding Windows_1254
public static final TruffleString.Encoding Windows_1255
public static final TruffleString.Encoding Windows_1256
public static final TruffleString.Encoding Windows_1257
public static final TruffleString.Encoding Windows_1258
public static final TruffleString.Encoding Windows_31J
public static final TruffleString.Encoding Windows_874
public static final TruffleString.Encoding CP50220
public static final TruffleString.Encoding CP50221
public static final TruffleString.Encoding IBM037
public static final TruffleString.Encoding ISO_2022_JP
public static final TruffleString.Encoding ISO_2022_JP_2
public static final TruffleString.Encoding ISO_2022_JP_KDDI
public static final TruffleString.Encoding UTF_7
public static final TruffleString.Encoding UTF_32
public static final TruffleString.Encoding UTF_16
public static TruffleString.Encoding[] values()
public static TruffleString.Encoding valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is nullpublic TruffleString getEmpty()
TruffleString
with this encoding.public static TruffleString.Encoding fromJCodingName(String name)
TruffleString.Encoding
corresponding to the given encoding name from the
JCodings
library.