ice.util.encoding
Class CharIO

java.lang.Object
  extended byice.util.encoding.CharIO

public class CharIO
extends Object


Field Summary
static int CHARSET_DEFAULT
           
static int CHARSET_ISO8859_8
           
static int CHARSET_VISUAL
           
static int CHARSET_WINDOWS_1255
           
static int DEFAULT_DECODING_BUFFER_SIZE
           
static String ENC_ISO8859_1
           
static String ENC_UTF8
           
 
Constructor Summary
CharIO()
           
 
Method Summary
static void addEncodingAlias(String alias, String encoding)
          Add alias for encoding name.
static Reader createInputStreamReader(InputStream in, String enc)
          If enc == null, assume value of getDefaultEncoding() Always supported values are "ISO8859_1", "UTF8", result of getDefaultEncoding() and their aliases
static Reader createInputStreamReader(InputStream in, String encArg, boolean deafultIfBadEncoding)
           
static Reader createURLReader(URLConnection conn)
           
static BreakIterator getBreakIterator(Locale l)
           
static int getCharsetId(String encoding)
           
static String getDefaultEncoding()
           
static String getEncodingLanguage(String encoding)
           
static Locale getEncodingLocale(String encoding)
           
static int mapWin1252_128_159_toUnicode(int c)
          Get Unicode character for Win1252 encoding code point c in range 128..159
static byte[] strToUTF8(String str)
           
static String utf8ToStr(byte[] array, int offset, int length)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_DECODING_BUFFER_SIZE

public static final int DEFAULT_DECODING_BUFFER_SIZE
See Also:
Constant Field Values

ENC_UTF8

public static final String ENC_UTF8
See Also:
Constant Field Values

ENC_ISO8859_1

public static final String ENC_ISO8859_1
See Also:
Constant Field Values

CHARSET_DEFAULT

public static final int CHARSET_DEFAULT
See Also:
Constant Field Values

CHARSET_WINDOWS_1255

public static final int CHARSET_WINDOWS_1255
See Also:
Constant Field Values

CHARSET_VISUAL

public static final int CHARSET_VISUAL
See Also:
Constant Field Values

CHARSET_ISO8859_8

public static final int CHARSET_ISO8859_8
See Also:
Constant Field Values
Constructor Detail

CharIO

public CharIO()
Method Detail

getDefaultEncoding

public static String getDefaultEncoding()

addEncodingAlias

public static void addEncodingAlias(String alias,
                                    String encoding)
Add alias for encoding name. Supposing that you want your custom JAPANESE_ENC to be mapped to EUC_JP (which is supported by Java), do as follows:
 CharIO.addEncodingAlias("JAPANESE_ENC", "EUC_JP");
 
Note that encoding must be the exactly the name Java knows about, for example "EUC_JP" is OK but "Euc_JP" is not! In the same time alias case does not matter: CharIO.addEncodingAlias("japanese_enc", "EUC_JP"); behaves exactly as the first example


createInputStreamReader

public static Reader createInputStreamReader(InputStream in,
                                             String enc)
If enc == null, assume value of getDefaultEncoding() Always supported values are "ISO8859_1", "UTF8", result of getDefaultEncoding() and their aliases


createInputStreamReader

public static Reader createInputStreamReader(InputStream in,
                                             String encArg,
                                             boolean deafultIfBadEncoding)

createURLReader

public static Reader createURLReader(URLConnection conn)
                              throws IOException
Throws:
IOException

getBreakIterator

public static BreakIterator getBreakIterator(Locale l)

getEncodingLanguage

public static String getEncodingLanguage(String encoding)

getEncodingLocale

public static Locale getEncodingLocale(String encoding)

getCharsetId

public static int getCharsetId(String encoding)

utf8ToStr

public static String utf8ToStr(byte[] array,
                               int offset,
                               int length)
                        throws IOException
Throws:
IOException

strToUTF8

public static byte[] strToUTF8(String str)

mapWin1252_128_159_toUnicode

public static int mapWin1252_128_159_toUnicode(int c)
Get Unicode character for Win1252 encoding code point c in range 128..159

Throws:
IllegalArgumentException - if c is outside 128..159