Class ISOUtil
java.lang.Object
org.jpos.iso.ISOUtil
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final CharsetDefault charset for bytes transmissions over networkstatic final CharsetEBCDIC charset (IBM1047).static final StringDeprecated.static final byteASCII End of Text (ETX) control character.static final byteASCII File Separator (FS) control character.static final byteASCII Group Separator (GS) control character.static final String[]Pre-computed hex strings for each byte value (00-FF).static final byteASCII Record Separator (RS) control character.static final byteASCII Start of Text (STX) control character.static final PatternPattern for matching Unicode escape sequences.static final byteASCII Unit Separator (US) control character. -
Constructor Summary
ConstructorsConstructorDescriptionISOUtil()All methods in this class are static, so there's usually no need to instantiate it We provide this public constructor in order to deal with some legacy script integration that needs an instance of this class in a rendering context. -
Method Summary
Modifier and TypeMethodDescriptionstatic byte[]asciiToEbcdic(byte[] a) Converts an ASCII byte array to an EBCDIC byte array.static voidasciiToEbcdic(byte[] s, byte[] e, int offset) Converts an ASCII byte array to EBCDIC and copies the result into the destination array.static byte[]Converts an ASCII string to an EBCDIC byte array.static voidasciiToEbcdic(String s, byte[] e, int offset) Converts an ASCII string to EBCDIC and copies the result into the destination array.static Stringbcd2str(byte[] b, int offset, int len, boolean padLeft) converts a BCD representation of a number to a Stringstatic byte[]converts a BitSet into a binary field used in pack routines This method will set bits 0 (and 65) if there's a secondary (and tertiary) bitmap (i.e., if the bitmap length is > 64 (and > 128))static byte[]bitSet2byte(BitSet b, int bytes) converts a BitSet into a binary field used in pack routines This method will set bits 0 (and 65) if there's a secondary (and tertiary) bitmap (i.e., if the bitmap length is > 64 (and > 128))static byte[]Converts a BitSet into an extended binary field used in pack routines.static intbitSet2Int(BitSet bs) Converts a BitSet to an int value.static Stringbit representation of a BitSet suitable for dumps and debuggingstatic StringblankUnPad(String s) Right unPad with ' 'static BitSetbyte2BitSet(byte[] b, int offset, boolean bitZeroMeansExtended) Converts a binary representation of a Bitmap field into a Java BitSetstatic BitSetbyte2BitSet(byte[] b, int offset, int maxBits) Converts a binary representation of a Bitmap field into a Java BitSetstatic BitSetbyte2BitSet(BitSet bmap, byte[] b, int bitOffset) Converts a binary representation of a Bitmap field into a Java BitSet.static Stringbyte2hex(byte[] bs) Converts a byte array into a hex stringstatic Stringbyte2hex(byte[] bs, int off, int length) Converts a byte array into a string of lower case hex chars.static intbyte2int(byte[] bytes) Converts a big-endian byte array to an integer.static charCompute card's check digit (LUHN)static String[]charDecode(char delimiter, String s) Decodes a char encoded String as encoded by charEncodestatic StringcharDecode(String s, char delimiter, int i) Decodes a char encoded String returning element in position istatic StringcharEncode(char delimiter, String... ss) Converts a string[] or multiple strings into one char-delimited String.static String[]Decodes a comma encoded String as encoded by commaEncodestatic StringcommaDecode(String s, int i) Decodes a comma encoded String returning element in position istatic StringcommaEncode(String... ss) Converts a string[] or multiple strings into one comma-delimited String.static byte[]concat(byte[] array1, byte[] array2) Concatenates two byte arrays (array1 and array2)static byte[]concat(byte[] array1, int beginIndex1, int length1, byte[] array2, int beginIndex2, int length2) Concatenates two byte arrays (array1 and array2)static byte[]Decodes a hex dump string (as produced by hexdump) back into a byte array.static StringdumpString(byte[] b) converts a byte array to printable charactersstatic StringebcdicToAscii(byte[] e) Converts an EBCDIC byte array to an ASCII string.static StringebcdicToAscii(byte[] e, int offset, int len) Converts a portion of an EBCDIC byte array to an ASCII string.static byte[]ebcdicToAsciiBytes(byte[] e) Converts an EBCDIC byte array to ASCII bytes.static byte[]ebcdicToAsciiBytes(byte[] e, int offset, int len) Converts a portion of an EBCDIC byte array to ASCII bytes.static StringformatAmount(long l, int len) prepare long value used as amount for display (implicit 2 decimals)static StringformatAmountConversionRate(double convRate) Format a string containing a amount conversion rate in the proper formatstatic StringformatDouble(double d, int len) format double valuestatic StringgetRandomDigits(Random r, int l, int radix) Generates a string oflrandom digits using the given radix.static BitSethex2BitSet(byte[] b, int offset, boolean bitZeroMeansExtended) Converts an ASCII representation of a Bitmap field into a Java BitSetstatic BitSethex2BitSet(byte[] b, int offset, int maxBits) Converts an ASCII representation of a Bitmap field into a Java BitSetstatic BitSethex2BitSet(BitSet bmap, byte[] b, int bitOffset) Converts an ASCII representation of a Bitmap field into a Java BitSetstatic byte[]hex2byte(byte[] b, int offset, int len) Converts a hex-encoded byte array to a binary byte array.static byte[]Converts a hex string into a byte arraystatic byte[]Converts a hex string into a byte arraystatic Stringhex2str(byte[] b, int offset, int len, boolean padLeft) converts a a byte array to a String with padding supportstatic Stringhexdump(byte[] b) Returns a formatted hexdump of a byte buffer.static Stringhexdump(byte[] b, int offset) Returns a formatted hexdump of a byte buffer starting at the given offset.static Stringhexdump(byte[] b, int offset, int len) Returns a formatted hexdump of a byte buffer region.static StringAt times when the charset is not the default usual one the dump will have more unprintable characters than printable.static StringBitwise XOR between corresponding byte arrays represented in hexstatic StringhexString(byte[] b) converts a byte array to hex string (suitable for dumps and ASCII packaging of Binary fieldsstatic StringhexString(byte[] b, int offset, int len) converts a byte array to hex string (suitable for dumps and ASCII packaging of Binary fieldsstatic BitSetint2BitSet(int value) Converts an int value to a BitSet.static BitSetint2BitSet(int value, int offset) Converts an int value to a BitSet with a given bit offset.static byte[]int2byte(int value) Converts an integer into a minimal big-endian byte array.static booleanReturns true if the string contains only alphanumeric characters.static booleanReturns true if the string is blank-filled (all space characters).static booleanReturns true if the string represents a number in the specified radix.static booleanReturns true if the string is zero-filled (all '0' characters).static StringmillisToString(long millis) Converts a duration in milliseconds to a human-readable string (e.g.static StringXML normalizer (default canonical)static StringXML normalizerstatic byte[]padISO9797Method2(byte[] data) Padsdataas per ISO/IEC 9797-1, method 2.static Stringpad to the leftstatic Stringpad to the rightstatic doubleparseAmountConversionRate(String convRate) Parse currency amount conversion rate stringstatic intparseInt(byte[] bArray) Converts a byte array to an integer of radix 10.static intparseInt(byte[] bArray, int radix) Converts a byte array to an integer of base radix.static intparseInt(char[] cArray) Converts a character array to an integer of radix 10.static intparseInt(char[] cArray, int radix) Converts a character array to an integer of base radix.static intConverts a String to an integer of radix 10.static intConverts a String to an integer of base radix.static StringProtects PAN, Track2, CVC using the default underscore mask character.static StringProtects PAN, Track2, CVC (suitable for logs).static StringreadableFileSize(long size) Formats a file size in bytes as a human-readable string (e.g.static voidsleep(long millis) Causes the currently executing thread to sleep (temporarily cease execution) for the specified number of milliseconds.static byte[]converts to BCDstatic byte[]converts to BCDstatic byte[]converts to BCDstatic byte[]converts to BCDstatic StringReverses the\\uXXXXescapes produced byescapeUnicode-style helpers, returning the original characters.static Stringpads to the rightstatic Stringpads a string with 'F's (useful for pinoffset management)static StringtakeFirstN(String s, int n) Returns the first n characters of the passed String, left-padding with '0' where required.static StringReturns the last n characters of the passed String, left-padding with '0' where required.static StringConverts a string to ASCII by replacing characters above 0x7F with a space.static int[]toIntArray(String s) Converts a whitespace-delimited string of numbers to an int array.static StringConverts a string to Latin-1 by replacing characters above 0xFF with a space.static String[]Converts a whitespace-delimited string of tokens to a String array.static StringtoUnicodeString(String input) Converts each character in the string to its Unicode escape sequence (\uXXXX format).static byte[]trim(byte[] array, int length) Trims a byte[] to a certain lengthstatic Stringtrim String (if not null)static Stringreverse the effect of strpadfstatic StringUnpad from left.static StringunPadRight(String s, char c) Unpad from right.static byte[]xor(byte[] op1, byte[] op2) Bitwise XOR between corresponding bytesstatic Stringzeropad(long l, int len) zeropads a long without throwing an ISOException (performs modulus operation)static Stringleft pad with '0'static StringzeropadRight(String s, int len) Pads a string to the right with zeros.static StringLeft unPad with '0'
-
Field Details
-
hexStrings
Pre-computed hex strings for each byte value (00-FF). -
ENCODING
Deprecated.useCHARSETinsteadDefault encoding (charset) for bytes transmissions over network- See Also:
-
unicodePattern
Pattern for matching Unicode escape sequences. -
CHARSET
-
EBCDIC
-
STX
-
FS
-
US
-
RS
-
GS
-
ETX
-
-
Constructor Details
-
ISOUtil
public ISOUtil()All methods in this class are static, so there's usually no need to instantiate it We provide this public constructor in order to deal with some legacy script integration that needs an instance of this class in a rendering context.
-
-
Method Details
-
ebcdicToAscii
Converts an EBCDIC byte array to an ASCII string.- Parameters:
e- EBCDIC-encoded byte array- Returns:
- decoded ASCII string
-
ebcdicToAscii
Converts a portion of an EBCDIC byte array to an ASCII string.- Parameters:
e- EBCDIC-encoded byte arrayoffset- start offset within the arraylen- number of bytes to convert- Returns:
- decoded ASCII string
-
ebcdicToAsciiBytes
Converts an EBCDIC byte array to ASCII bytes.- Parameters:
e- EBCDIC-encoded byte array- Returns:
- ASCII-encoded byte array
-
ebcdicToAsciiBytes
Converts a portion of an EBCDIC byte array to ASCII bytes.- Parameters:
e- EBCDIC-encoded byte arrayoffset- start offset within the arraylen- number of bytes to convert- Returns:
- ASCII-encoded byte array
-
asciiToEbcdic
Converts an ASCII string to an EBCDIC byte array.- Parameters:
s- ASCII string to encode- Returns:
- EBCDIC-encoded byte array
-
asciiToEbcdic
Converts an ASCII byte array to an EBCDIC byte array.- Parameters:
a- ASCII-encoded byte array- Returns:
- EBCDIC-encoded byte array
-
asciiToEbcdic
Converts an ASCII string to EBCDIC and copies the result into the destination array.- Parameters:
s- ASCII string to encodee- destination byte arrayoffset- start offset in the destination array
-
asciiToEbcdic
Converts an ASCII byte array to EBCDIC and copies the result into the destination array.- Parameters:
s- ASCII-encoded source byte arraye- destination byte arrayoffset- start offset in the destination array
-
padleft
pad to the left- Parameters:
s- - original stringlen- - desired lenc- - padding char- Returns:
- padded string
- Throws:
ISOException- on error
-
padright
pad to the right- Parameters:
s- - original stringlen- - desired lenc- - padding char- Returns:
- padded string
- Throws:
ISOException- if String's length greater than pad length
-
trim
-
zeropad
left pad with '0'- Parameters:
s- - original stringlen- - desired len- Returns:
- zero padded string
- Throws:
ISOException- if string's length greater than len
-
zeropad
-
strpad
-
zeropadRight
Pads a string to the right with zeros.- Parameters:
s- original stringlen- desired length- Returns:
- zero-padded string (zeros appended on right)
-
padISO9797Method2
Padsdataas per ISO/IEC 9797-1, method 2.- Parameters:
data- Data to be padded.- Returns:
- Returns
datapadded as per ISO/IEC 9797-1, method 2.
-
str2bcd
-
str2hex
-
str2bcd
-
str2bcd
-
bcd2str
-
hex2str
converts a a byte array to a String with padding support- Parameters:
b- - HEX representationoffset- - starting offsetlen- - BCD field lenpadLeft- - was padLeft packed?- Returns:
- the String representation of the number
-
hexString
-
dumpString
converts a byte array to printable characters- Parameters:
b- - byte array- Returns:
- String representation
-
hexString
-
bitSet2String
bit representation of a BitSet suitable for dumps and debugging- Parameters:
b- - the BitSet- Returns:
- string representing the bits (i.e. 011010010...)
-
bitSet2byte
converts a BitSet into a binary field used in pack routines This method will set bits 0 (and 65) if there's a secondary (and tertiary) bitmap (i.e., if the bitmap length is > 64 (and > 128))- Parameters:
b- - the BitSet- Returns:
- binary representation
-
bitSet2byte
converts a BitSet into a binary field used in pack routines This method will set bits 0 (and 65) if there's a secondary (and tertiary) bitmap (i.e., if the bitmap length is > 64 (and > 128))- Parameters:
b- - the BitSetbytes- - number of bytes to return- Returns:
- binary representation
-
bitSet2Int
Converts a BitSet to an int value.- Parameters:
bs- the BitSet to convert- Returns:
- integer representation of the BitSet
-
int2BitSet
Converts an int value to a BitSet.- Parameters:
value- the integer to convert- Returns:
- BitSet representation of the value
-
int2BitSet
Converts an int value to a BitSet with a given bit offset.- Parameters:
value- the integer to convertoffset- bit offset to apply when setting bits- Returns:
- BitSet representation of the value at the given offset
-
byte2BitSet
Converts a binary representation of a Bitmap field into a Java BitSet- Parameters:
b- - binary representationoffset- - staring offsetbitZeroMeansExtended- - true for ISO-8583- Returns:
- java BitSet object
-
byte2BitSet
Converts a binary representation of a Bitmap field into a Java BitSet- Parameters:
b- - binary representationoffset- - staring offsetmaxBits- - max number of bits (supports 64,128 or 192)- Returns:
- java BitSet object
-
byte2BitSet
Converts a binary representation of a Bitmap field into a Java BitSet. The byte[] will be fully consumed, and fed into the given BitSet starting at bitOffset+1- Parameters:
bmap- - BitSetb- - hex representationbitOffset- - (i.e. 0 for primary bitmap, 64 for secondary)- Returns:
- the same java BitSet object given as first argument
-
hex2BitSet
Converts an ASCII representation of a Bitmap field into a Java BitSet- Parameters:
b- - hex representationoffset- - starting offsetbitZeroMeansExtended- - true for ISO-8583- Returns:
- java BitSet object
-
hex2BitSet
Converts an ASCII representation of a Bitmap field into a Java BitSet- Parameters:
b- - hex representationoffset- - starting offsetmaxBits- - max number of bits (supports 8, 16, 24, 32, 48, 52, 64,.. 128 or 192)- Returns:
- java BitSet object
-
hex2BitSet
Converts an ASCII representation of a Bitmap field into a Java BitSet- Parameters:
bmap- - BitSetb- - hex representationbitOffset- - (i.e. 0 for primary bitmap, 64 for secondary)- Returns:
- java BitSet object
-
hex2byte
Converts a hex-encoded byte array to a binary byte array.- Parameters:
b- source byte array containing hex digitsoffset- starting offsetlen- number of bytes in destination (processes len*2)- Returns:
- byte[len]
-
hex2byte
-
hex2byte
-
byte2hex
-
int2byte
Converts an integer into a minimal big-endian byte array.- Parameters:
value- the integer to convert- Returns:
- bytes representation of integer
-
byte2int
Converts a big-endian byte array to an integer.- Parameters:
bytes- the byte array to convert- Returns:
- integer representation of bytes
-
byte2hex
-
formatDouble
format double value- Parameters:
d- the amountlen- the field len- Returns:
- a String of fieldLen characters (right justified)
-
formatAmount
prepare long value used as amount for display (implicit 2 decimals)- Parameters:
l- valuelen- display len- Returns:
- formated field
- Throws:
ISOException- if the formatted value exceeds the requested length
-
normalize
-
stripUnicode
Reverses the\\uXXXXescapes produced byescapeUnicode-style helpers, returning the original characters.- Parameters:
s- string possibly containing\\uXXXXescapes; may benull- Returns:
- decoded string, or empty string when
sisnull
-
normalize
-
protect
Protects PAN, Track2, CVC (suitable for logs)."40000101010001" is converted to "400001____0001" "40000101010001=020128375" is converted to "400001____0001=0201_____" "40000101010001D020128375" is converted to "400001____0001D0201_____" "123" is converted to "___"
- Parameters:
s- string to be protectedmask- char used to protect the string- Returns:
- 'protected' String
-
protect
-
toIntArray
Converts a whitespace-delimited string of numbers to an int array.- Parameters:
s- whitespace-delimited string of integer values- Returns:
- array of parsed integers
-
toStringArray
Converts a whitespace-delimited string of tokens to a String array.- Parameters:
s- whitespace-delimited string of tokens- Returns:
- array of string tokens
-
xor
Bitwise XOR between corresponding bytes- Parameters:
op1- byteArray1op2- byteArray2- Returns:
- an array of length = the smallest between op1 and op2
-
hexor
-
trim
Trims a byte[] to a certain length- Parameters:
array- the byte[] to be trimmedlength- the wanted length- Returns:
- the trimmed byte[]
-
concat
Concatenates two byte arrays (array1 and array2)- Parameters:
array1- first partarray2- last part- Returns:
- the concatenated array
-
concat
public static byte[] concat(byte[] array1, int beginIndex1, int length1, byte[] array2, int beginIndex2, int length2) Concatenates two byte arrays (array1 and array2)- Parameters:
array1- first partbeginIndex1- initial indexlength1- lengtharray2- last partbeginIndex2- last part indexlength2- last part length- Returns:
- the concatenated array
-
sleep
Causes the currently executing thread to sleep (temporarily cease execution) for the specified number of milliseconds. The thread does not lose ownership of any monitors.- Parameters:
millis- the length of time to sleep in milliseconds.
-
zeroUnPad
-
blankUnPad
Right unPad with ' '- Parameters:
s- - original string- Returns:
- blank unPadded string
-
unPadRight
Unpad from right.- Parameters:
s- - original stringc- - padding char- Returns:
- unPadded string.
-
unPadLeft
-
isZero
-
isBlank
-
isAlphaNumeric
Returns true if the string contains only alphanumeric characters.- Parameters:
s- the string to test- Returns:
- true if the string is alphanumeric
-
isNumeric
-
bitSet2extendedByte
Converts a BitSet into an extended binary field used in pack routines. The result is always in the extended format: (16 bytes of length)- Parameters:
b- the BitSet- Returns:
- binary representation
-
parseInt
Converts a String to an integer of base radix.
String constraints are:- Number must be less than 10 digits
- Number must be positive
- Parameters:
s- String representation of numberradix- Number base to use- Returns:
- integer value of number
- Throws:
NumberFormatException- if the string contains non-digit characters or exceeds 9 digits
-
parseInt
Converts a String to an integer of radix 10.
String constraints are:- Number must be less than 10 digits
- Number must be positive
- Parameters:
s- String representation of number- Returns:
- integer value of number
- Throws:
NumberFormatException- if the string contains non-digit characters or exceeds 9 digits
-
parseInt
Converts a character array to an integer of base radix.
Array constraints are:- Number must be less than 10 digits
- Number must be positive
- Parameters:
cArray- Character Array representation of numberradix- Number base to use- Returns:
- integer value of number
- Throws:
NumberFormatException- if the array contains non-digit characters or exceeds 9 digits
-
parseInt
Converts a character array to an integer of radix 10.
Array constraints are:- Number must be less than 10 digits
- Number must be positive
- Parameters:
cArray- Character Array representation of number- Returns:
- integer value of number
- Throws:
NumberFormatException- if the array contains non-digit characters or exceeds 9 digits
-
parseInt
Converts a byte array to an integer of base radix.
Array constraints are:- Number must be less than 10 digits
- Number must be positive
- Parameters:
bArray- Byte Array representation of numberradix- Number base to use- Returns:
- integer value of number
- Throws:
NumberFormatException- if the array contains non-digit characters or exceeds 9 digits
-
parseInt
Converts a byte array to an integer of radix 10.
Array constraints are:- Number must be less than 10 digits
- Number must be positive
- Parameters:
bArray- Byte Array representation of number- Returns:
- integer value of number
- Throws:
NumberFormatException- if the array contains non-digit characters or exceeds 9 digits
-
hexdump
-
hexdump
-
hexdump
-
strpadf
-
trimf
-
takeLastN
Returns the last n characters of the passed String, left-padding with '0' where required.- Parameters:
s- String to take fromn- number of characters to take- Returns:
- String (may be null)
- Throws:
ISOException- if zero-padding fails
-
takeFirstN
Returns the first n characters of the passed String, left-padding with '0' where required.- Parameters:
s- String to take fromn- number of characters to take- Returns:
- String (may be null)
- Throws:
ISOException- if zero-padding fails
-
millisToString
Converts a duration in milliseconds to a human-readable string (e.g. "1d 2h 3m 4s 500ms").- Parameters:
millis- duration in milliseconds- Returns:
- human-readable duration string
-
formatAmountConversionRate
Format a string containing a amount conversion rate in the proper formatFormat: The leftmost digit (i.e., position 1) of this data element denotes the number of positions the decimal separator must be moved from the right. Positions 2–8 of this data element specify the rate. For example, a conversion rate value of 91234567 in this data element would equate to 0.001234567.
- Parameters:
convRate- amount conversion rate- Returns:
- a string containing a amount conversion rate in the proper format, which is suitable for creating fields 10 and 11
- Throws:
ISOException- if zero-padding fails during formatting
-
parseAmountConversionRate
Parse currency amount conversion rate stringSuitble for parse fields 10 and 11
- Parameters:
convRate- amount conversion rate string (8 characters)- Returns:
- parsed currency amount conversion rate as a double
- Throws:
IllegalArgumentException- if the string is null or not exactly 8 characters
-
commaEncode
Converts a string[] or multiple strings into one comma-delimited String. Takes care of escaping commas using a backlash- Parameters:
ss- string array to be comma encoded- Returns:
- comma encoded string
- See Also:
-
commaDecode
Decodes a comma encoded String as encoded by commaEncode- Parameters:
s- the command encoded String- Returns:
- String[]
- See Also:
-
commaDecode
Decodes a comma encoded String returning element in position i- Parameters:
s- comma encoded stringi- position (starts at 0)- Returns:
- element in position i of comma encoded string, or null
-
calcLUHN
-
getRandomDigits
Generates a string oflrandom digits using the given radix.- Parameters:
r- random number generator to usel- number of digits to generateradix- the radix (base) for digit generation- Returns:
- string of
lrandom digits
-
readableFileSize
Formats a file size in bytes as a human-readable string (e.g. "1.5 MiB").- Parameters:
size- file size in bytes- Returns:
- human-readable file size string
-
hexDump
At times when the charset is not the default usual one the dump will have more unprintable characters than printable. The charset will allow printing of more printable character. Usually when your data is in EBCDIC format you will run into this. The standard hexdump that exists would print a byte array of F0F1F2 as F0 F1 F2 ... This hexdump, if the Charset.forName("IBM1047") is passedin as charset will print F0 F1 F2 | 123- Parameters:
array- the array that needs to be dumped.offset- From where the data needs to be dumped.length- The number of byte that ned to be dumped.charSet- The Charset encoding the array is i.- Returns:
- The hexdump string.
-
decodeHexDump
Decodes a hex dump string (as produced by hexdump) back into a byte array.- Parameters:
s- hex dump string to decode- Returns:
- decoded byte array
-
charEncode
Converts a string[] or multiple strings into one char-delimited String. Takes care of escaping char using a backlash NOTE: for backward compatibility, an empty String returns a zero-length array- Parameters:
delimiter- char used to delimitss- string array to be char encoded- Returns:
- char encoded string
- See Also:
-
charDecode
Decodes a char encoded String as encoded by charEncode- Parameters:
delimiter- char used to delimits- the char encoded String- Returns:
- String[]
- See Also:
-
charDecode
Decodes a char encoded String returning element in position i- Parameters:
s- comma encoded stringdelimiter- char used to delimiti- position (starts at 0)- Returns:
- element in position i of comma encoded string, or empty
-
toUnicodeString
Converts each character in the string to its Unicode escape sequence (\uXXXX format).- Parameters:
input- the string to convert- Returns:
- string with all characters encoded as Unicode escapes
-
toASCII
-
toLatin
-
CHARSETinstead