/*
 * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
 */
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.sun.org.apache.xerces.internal.util;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

EncodingMap is a convenience class which handles conversions between IANA encoding names and Java encoding names, and vice versa. The encoding names used in XML instance documents must be the IANA encoding names specified or one of the aliases for those names which IANA defines.

Common Name

Use this name in XML files

Name Type

Xerces converts to this Java Encoder Name

8 bit Unicode

UTF-8

IANA

UTF8

ISO Latin 1

ISO-8859-1

MIME

ISO-8859-1

ISO Latin 2

ISO-8859-2

MIME

ISO-8859-2

ISO Latin 3

ISO-8859-3

MIME

ISO-8859-3

ISO Latin 4

ISO-8859-4

MIME

ISO-8859-4

ISO Latin Cyrillic

ISO-8859-5

MIME

ISO-8859-5

ISO Latin Arabic

ISO-8859-6

MIME

ISO-8859-6

ISO Latin Greek

ISO-8859-7

MIME

ISO-8859-7

ISO Latin Hebrew

ISO-8859-8

MIME

ISO-8859-8

ISO Latin 5

ISO-8859-9

MIME

ISO-8859-9

EBCDIC: US

ebcdic-cp-us

IANA

cp037

EBCDIC: Canada

ebcdic-cp-ca

IANA

cp037

EBCDIC: Netherlands

ebcdic-cp-nl

IANA

cp037

EBCDIC: Denmark

ebcdic-cp-dk

IANA

cp277

EBCDIC: Norway

ebcdic-cp-no

IANA

cp277

EBCDIC: Finland

ebcdic-cp-fi

IANA

cp278

EBCDIC: Sweden

ebcdic-cp-se

IANA

cp278

EBCDIC: Italy

ebcdic-cp-it

IANA

cp280

EBCDIC: Spain, Latin America

ebcdic-cp-es

IANA

cp284

EBCDIC: Great Britain

ebcdic-cp-gb

IANA

cp285

EBCDIC: France

ebcdic-cp-fr

IANA

cp297

EBCDIC: Arabic

ebcdic-cp-ar1

IANA

cp420

EBCDIC: Hebrew

ebcdic-cp-he

IANA

cp424

EBCDIC: Switzerland

ebcdic-cp-ch

IANA

cp500

EBCDIC: Roece

ebcdic-cp-roece

IANA

cp870

EBCDIC: Yugoslavia

ebcdic-cp-yu

IANA

cp870

EBCDIC: Iceland

ebcdic-cp-is

IANA

cp871

EBCDIC: Urdu

ebcdic-cp-ar2

IANA

cp918

Chinese for PRC, mixed 1/2 byte

gb2312

MIME

GB2312

Extended Unix Code, packed for Japanese

euc-jp

MIME

eucjis

Japanese: iso-2022-jp

iso-2020-jp

MIME

JIS

Japanese: Shift JIS

Shift_JIS

MIME

SJIS

Chinese: Big5

Big5

MIME

Big5

Extended Unix Code, packed for Korean

euc-kr

MIME

iso2022kr

Cyrillic

koi8-r

MIME

koi8-r

Author:TAMURA Kent, IBM, Andy Clark, IBM
/** * EncodingMap is a convenience class which handles conversions between * IANA encoding names and Java encoding names, and vice versa. The * encoding names used in XML instance documents <strong>must</strong> * be the IANA encoding names specified or one of the aliases for those names * which IANA defines. * <p> * <TABLE BORDER="0" WIDTH="100%"> * <TR> * <TD WIDTH="33%"> * <P ALIGN="CENTER"><B>Common Name</B> * </TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER"><B>Use this name in XML files</B> * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER"><B>Name Type</B> * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER"><B>Xerces converts to this Java Encoder Name</B> * </TD> * </TR> * <TR> * <TD WIDTH="33%">8 bit Unicode</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">UTF-8 * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">UTF8 * </TD> * </TR> * <TR> * <TD WIDTH="33%">ISO Latin 1</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ISO-8859-1 * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">MIME * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">ISO-8859-1 * </TD> * </TR> * <TR> * <TD WIDTH="33%">ISO Latin 2</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ISO-8859-2 * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">MIME * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">ISO-8859-2 * </TD> * </TR> * <TR> * <TD WIDTH="33%">ISO Latin 3</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ISO-8859-3 * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">MIME * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">ISO-8859-3 * </TD> * </TR> * <TR> * <TD WIDTH="33%">ISO Latin 4</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ISO-8859-4 * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">MIME * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">ISO-8859-4 * </TD> * </TR> * <TR> * <TD WIDTH="33%">ISO Latin Cyrillic</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ISO-8859-5 * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">MIME * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">ISO-8859-5 * </TD> * </TR> * <TR> * <TD WIDTH="33%">ISO Latin Arabic</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ISO-8859-6 * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">MIME * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">ISO-8859-6 * </TD> * </TR> * <TR> * <TD WIDTH="33%">ISO Latin Greek</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ISO-8859-7 * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">MIME * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">ISO-8859-7 * </TD> * </TR> * <TR> * <TD WIDTH="33%">ISO Latin Hebrew</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ISO-8859-8 * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">MIME * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">ISO-8859-8 * </TD> * </TR> * <TR> * <TD WIDTH="33%">ISO Latin 5</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ISO-8859-9 * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">MIME * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">ISO-8859-9 * </TD> * </TR> * <TR> * <TD WIDTH="33%">EBCDIC: US</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ebcdic-cp-us * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">cp037 * </TD> * </TR> * <TR> * <TD WIDTH="33%">EBCDIC: Canada</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ebcdic-cp-ca * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">cp037 * </TD> * </TR> * <TR> * <TD WIDTH="33%">EBCDIC: Netherlands</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ebcdic-cp-nl * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">cp037 * </TD> * </TR> * <TR> * <TD WIDTH="33%">EBCDIC: Denmark</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ebcdic-cp-dk * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">cp277 * </TD> * </TR> * <TR> * <TD WIDTH="33%">EBCDIC: Norway</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ebcdic-cp-no * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">cp277 * </TD> * </TR> * <TR> * <TD WIDTH="33%">EBCDIC: Finland</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ebcdic-cp-fi * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">cp278 * </TD> * </TR> * <TR> * <TD WIDTH="33%">EBCDIC: Sweden</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ebcdic-cp-se * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">cp278 * </TD> * </TR> * <TR> * <TD WIDTH="33%">EBCDIC: Italy</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ebcdic-cp-it * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">cp280 * </TD> * </TR> * <TR> * <TD WIDTH="33%">EBCDIC: Spain, Latin America</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ebcdic-cp-es * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">cp284 * </TD> * </TR> * <TR> * <TD WIDTH="33%">EBCDIC: Great Britain</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ebcdic-cp-gb * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">cp285 * </TD> * </TR> * <TR> * <TD WIDTH="33%">EBCDIC: France</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ebcdic-cp-fr * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">cp297 * </TD> * </TR> * <TR> * <TD WIDTH="33%">EBCDIC: Arabic</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ebcdic-cp-ar1 * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">cp420 * </TD> * </TR> * <TR> * <TD WIDTH="33%">EBCDIC: Hebrew</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ebcdic-cp-he * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">cp424 * </TD> * </TR> * <TR> * <TD WIDTH="33%">EBCDIC: Switzerland</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ebcdic-cp-ch * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">cp500 * </TD> * </TR> * <TR> * <TD WIDTH="33%">EBCDIC: Roece</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ebcdic-cp-roece * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">cp870 * </TD> * </TR> * <TR> * <TD WIDTH="33%">EBCDIC: Yugoslavia</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ebcdic-cp-yu * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">cp870 * </TD> * </TR> * <TR> * <TD WIDTH="33%">EBCDIC: Iceland</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ebcdic-cp-is * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">cp871 * </TD> * </TR> * <TR> * <TD WIDTH="33%">EBCDIC: Urdu</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">ebcdic-cp-ar2 * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">IANA * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">cp918 * </TD> * </TR> * <TR> * <TD WIDTH="33%">Chinese for PRC, mixed 1/2 byte</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">gb2312 * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">MIME * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">GB2312 * </TD> * </TR> * <TR> * <TD WIDTH="33%">Extended Unix Code, packed for Japanese</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">euc-jp * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">MIME * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">eucjis * </TD> * </TR> * <TR> * <TD WIDTH="33%">Japanese: iso-2022-jp</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">iso-2020-jp * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">MIME * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">JIS * </TD> * </TR> * <TR> * <TD WIDTH="33%">Japanese: Shift JIS</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">Shift_JIS * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">MIME * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">SJIS * </TD> * </TR> * <TR> * <TD WIDTH="33%">Chinese: Big5</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">Big5 * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">MIME * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">Big5 * </TD> * </TR> * <TR> * <TD WIDTH="33%">Extended Unix Code, packed for Korean</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">euc-kr * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">MIME * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">iso2022kr * </TD> * </TR> * <TR> * <TD WIDTH="33%">Cyrillic</TD> * <TD WIDTH="15%"> * <P ALIGN="CENTER">koi8-r * </TD> * <TD WIDTH="12%"> * <P ALIGN="CENTER">MIME * </TD> * <TD WIDTH="31%"> * <P ALIGN="CENTER">koi8-r * </TD> * </TR> * </TABLE> * * @author TAMURA Kent, IBM * @author Andy Clark, IBM * */
public class EncodingMap { // // Data //
fIANA2JavaMap
/** fIANA2JavaMap */
protected final static Map<String, String> fIANA2JavaMap;
fJava2IANAMap
/** fJava2IANAMap */
protected final static Map<String, String> fJava2IANAMap; // // Static initialization // static { Map<String, String> aIANA2JavaMap = new HashMap<>(); Map<String, String> aJava2IANAMap = new HashMap<>(); // add IANA to Java encoding mappings. aIANA2JavaMap.put("BIG5", "Big5"); aIANA2JavaMap.put("CSBIG5", "Big5"); aIANA2JavaMap.put("CP037", "CP037"); aIANA2JavaMap.put("IBM037", "CP037"); aIANA2JavaMap.put("CSIBM037", "CP037"); aIANA2JavaMap.put("EBCDIC-CP-US", "CP037"); aIANA2JavaMap.put("EBCDIC-CP-CA", "CP037"); aIANA2JavaMap.put("EBCDIC-CP-NL", "CP037"); aIANA2JavaMap.put("EBCDIC-CP-WT", "CP037"); aIANA2JavaMap.put("IBM273", "CP273"); aIANA2JavaMap.put("CP273", "CP273"); aIANA2JavaMap.put("CSIBM273", "CP273"); aIANA2JavaMap.put("IBM277", "CP277"); aIANA2JavaMap.put("CP277", "CP277"); aIANA2JavaMap.put("CSIBM277", "CP277"); aIANA2JavaMap.put("EBCDIC-CP-DK", "CP277"); aIANA2JavaMap.put("EBCDIC-CP-NO", "CP277"); aIANA2JavaMap.put("IBM278", "CP278"); aIANA2JavaMap.put("CP278", "CP278"); aIANA2JavaMap.put("CSIBM278", "CP278"); aIANA2JavaMap.put("EBCDIC-CP-FI", "CP278"); aIANA2JavaMap.put("EBCDIC-CP-SE", "CP278"); aIANA2JavaMap.put("IBM280", "CP280"); aIANA2JavaMap.put("CP280", "CP280"); aIANA2JavaMap.put("CSIBM280", "CP280"); aIANA2JavaMap.put("EBCDIC-CP-IT", "CP280"); aIANA2JavaMap.put("IBM284", "CP284"); aIANA2JavaMap.put("CP284", "CP284"); aIANA2JavaMap.put("CSIBM284", "CP284"); aIANA2JavaMap.put("EBCDIC-CP-ES", "CP284"); aIANA2JavaMap.put("EBCDIC-CP-GB", "CP285"); aIANA2JavaMap.put("IBM285", "CP285"); aIANA2JavaMap.put("CP285", "CP285"); aIANA2JavaMap.put("CSIBM285", "CP285"); aIANA2JavaMap.put("EBCDIC-JP-KANA", "CP290"); aIANA2JavaMap.put("IBM290", "CP290"); aIANA2JavaMap.put("CP290", "CP290"); aIANA2JavaMap.put("CSIBM290", "CP290"); aIANA2JavaMap.put("EBCDIC-CP-FR", "CP297"); aIANA2JavaMap.put("IBM297", "CP297"); aIANA2JavaMap.put("CP297", "CP297"); aIANA2JavaMap.put("CSIBM297", "CP297"); aIANA2JavaMap.put("EBCDIC-CP-AR1", "CP420"); aIANA2JavaMap.put("IBM420", "CP420"); aIANA2JavaMap.put("CP420", "CP420"); aIANA2JavaMap.put("CSIBM420", "CP420"); aIANA2JavaMap.put("EBCDIC-CP-HE", "CP424"); aIANA2JavaMap.put("IBM424", "CP424"); aIANA2JavaMap.put("CP424", "CP424"); aIANA2JavaMap.put("CSIBM424", "CP424"); aIANA2JavaMap.put("IBM437", "CP437"); aIANA2JavaMap.put("437", "CP437"); aIANA2JavaMap.put("CP437", "CP437"); aIANA2JavaMap.put("CSPC8CODEPAGE437", "CP437"); aIANA2JavaMap.put("EBCDIC-CP-CH", "CP500"); aIANA2JavaMap.put("IBM500", "CP500"); aIANA2JavaMap.put("CP500", "CP500"); aIANA2JavaMap.put("CSIBM500", "CP500"); aIANA2JavaMap.put("EBCDIC-CP-CH", "CP500"); aIANA2JavaMap.put("EBCDIC-CP-BE", "CP500"); aIANA2JavaMap.put("IBM775", "CP775"); aIANA2JavaMap.put("CP775", "CP775"); aIANA2JavaMap.put("CSPC775BALTIC", "CP775"); aIANA2JavaMap.put("IBM850", "CP850"); aIANA2JavaMap.put("850", "CP850"); aIANA2JavaMap.put("CP850", "CP850"); aIANA2JavaMap.put("CSPC850MULTILINGUAL", "CP850"); aIANA2JavaMap.put("IBM852", "CP852"); aIANA2JavaMap.put("852", "CP852"); aIANA2JavaMap.put("CP852", "CP852"); aIANA2JavaMap.put("CSPCP852", "CP852"); aIANA2JavaMap.put("IBM855", "CP855"); aIANA2JavaMap.put("855", "CP855"); aIANA2JavaMap.put("CP855", "CP855"); aIANA2JavaMap.put("CSIBM855", "CP855"); aIANA2JavaMap.put("IBM857", "CP857"); aIANA2JavaMap.put("857", "CP857"); aIANA2JavaMap.put("CP857", "CP857"); aIANA2JavaMap.put("CSIBM857", "CP857"); aIANA2JavaMap.put("IBM00858", "CP858"); aIANA2JavaMap.put("CP00858", "CP858"); aIANA2JavaMap.put("CCSID00858", "CP858"); aIANA2JavaMap.put("IBM860", "CP860"); aIANA2JavaMap.put("860", "CP860"); aIANA2JavaMap.put("CP860", "CP860"); aIANA2JavaMap.put("CSIBM860", "CP860"); aIANA2JavaMap.put("IBM861", "CP861"); aIANA2JavaMap.put("861", "CP861"); aIANA2JavaMap.put("CP861", "CP861"); aIANA2JavaMap.put("CP-IS", "CP861"); aIANA2JavaMap.put("CSIBM861", "CP861"); aIANA2JavaMap.put("IBM862", "CP862"); aIANA2JavaMap.put("862", "CP862"); aIANA2JavaMap.put("CP862", "CP862"); aIANA2JavaMap.put("CSPC862LATINHEBREW", "CP862"); aIANA2JavaMap.put("IBM863", "CP863"); aIANA2JavaMap.put("863", "CP863"); aIANA2JavaMap.put("CP863", "CP863"); aIANA2JavaMap.put("CSIBM863", "CP863"); aIANA2JavaMap.put("IBM864", "CP864"); aIANA2JavaMap.put("CP864", "CP864"); aIANA2JavaMap.put("CSIBM864", "CP864"); aIANA2JavaMap.put("IBM865", "CP865"); aIANA2JavaMap.put("865", "CP865"); aIANA2JavaMap.put("CP865", "CP865"); aIANA2JavaMap.put("CSIBM865", "CP865"); aIANA2JavaMap.put("IBM866", "CP866"); aIANA2JavaMap.put("866", "CP866"); aIANA2JavaMap.put("CP866", "CP866"); aIANA2JavaMap.put("CSIBM866", "CP866"); aIANA2JavaMap.put("IBM868", "CP868"); aIANA2JavaMap.put("CP868", "CP868"); aIANA2JavaMap.put("CSIBM868", "CP868"); aIANA2JavaMap.put("CP-AR", "CP868"); aIANA2JavaMap.put("IBM869", "CP869"); aIANA2JavaMap.put("CP869", "CP869"); aIANA2JavaMap.put("CSIBM869", "CP869"); aIANA2JavaMap.put("CP-GR", "CP869"); aIANA2JavaMap.put("IBM870", "CP870"); aIANA2JavaMap.put("CP870", "CP870"); aIANA2JavaMap.put("CSIBM870", "CP870"); aIANA2JavaMap.put("EBCDIC-CP-ROECE", "CP870"); aIANA2JavaMap.put("EBCDIC-CP-YU", "CP870"); aIANA2JavaMap.put("IBM871", "CP871"); aIANA2JavaMap.put("CP871", "CP871"); aIANA2JavaMap.put("CSIBM871", "CP871"); aIANA2JavaMap.put("EBCDIC-CP-IS", "CP871"); aIANA2JavaMap.put("IBM918", "CP918"); aIANA2JavaMap.put("CP918", "CP918"); aIANA2JavaMap.put("CSIBM918", "CP918"); aIANA2JavaMap.put("EBCDIC-CP-AR2", "CP918"); aIANA2JavaMap.put("IBM00924", "CP924"); aIANA2JavaMap.put("CP00924", "CP924"); aIANA2JavaMap.put("CCSID00924", "CP924"); // is this an error??? aIANA2JavaMap.put("EBCDIC-LATIN9--EURO", "CP924"); aIANA2JavaMap.put("IBM1026", "CP1026"); aIANA2JavaMap.put("CP1026", "CP1026"); aIANA2JavaMap.put("CSIBM1026", "CP1026"); aIANA2JavaMap.put("IBM01140", "Cp1140"); aIANA2JavaMap.put("CP01140", "Cp1140"); aIANA2JavaMap.put("CCSID01140", "Cp1140"); aIANA2JavaMap.put("IBM01141", "Cp1141"); aIANA2JavaMap.put("CP01141", "Cp1141"); aIANA2JavaMap.put("CCSID01141", "Cp1141"); aIANA2JavaMap.put("IBM01142", "Cp1142"); aIANA2JavaMap.put("CP01142", "Cp1142"); aIANA2JavaMap.put("CCSID01142", "Cp1142"); aIANA2JavaMap.put("IBM01143", "Cp1143"); aIANA2JavaMap.put("CP01143", "Cp1143"); aIANA2JavaMap.put("CCSID01143", "Cp1143"); aIANA2JavaMap.put("IBM01144", "Cp1144"); aIANA2JavaMap.put("CP01144", "Cp1144"); aIANA2JavaMap.put("CCSID01144", "Cp1144"); aIANA2JavaMap.put("IBM01145", "Cp1145"); aIANA2JavaMap.put("CP01145", "Cp1145"); aIANA2JavaMap.put("CCSID01145", "Cp1145"); aIANA2JavaMap.put("IBM01146", "Cp1146"); aIANA2JavaMap.put("CP01146", "Cp1146"); aIANA2JavaMap.put("CCSID01146", "Cp1146"); aIANA2JavaMap.put("IBM01147", "Cp1147"); aIANA2JavaMap.put("CP01147", "Cp1147"); aIANA2JavaMap.put("CCSID01147", "Cp1147"); aIANA2JavaMap.put("IBM01148", "Cp1148"); aIANA2JavaMap.put("CP01148", "Cp1148"); aIANA2JavaMap.put("CCSID01148", "Cp1148"); aIANA2JavaMap.put("IBM01149", "Cp1149"); aIANA2JavaMap.put("CP01149", "Cp1149"); aIANA2JavaMap.put("CCSID01149", "Cp1149"); aIANA2JavaMap.put("EUC-JP", "EUCJIS"); aIANA2JavaMap.put("CSEUCPKDFMTJAPANESE", "EUCJIS"); aIANA2JavaMap.put("EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", "EUCJIS"); aIANA2JavaMap.put("EUC-KR", "KSC5601"); aIANA2JavaMap.put("CSEUCKR", "KSC5601"); aIANA2JavaMap.put("KS_C_5601-1987", "KS_C_5601-1987"); aIANA2JavaMap.put("ISO-IR-149", "KS_C_5601-1987"); aIANA2JavaMap.put("KS_C_5601-1989", "KS_C_5601-1987"); aIANA2JavaMap.put("KSC_5601", "KS_C_5601-1987"); aIANA2JavaMap.put("KOREAN", "KS_C_5601-1987"); aIANA2JavaMap.put("CSKSC56011987", "KS_C_5601-1987"); aIANA2JavaMap.put("GB2312", "GB2312"); aIANA2JavaMap.put("CSGB2312", "GB2312"); aIANA2JavaMap.put("ISO-2022-JP", "JIS"); aIANA2JavaMap.put("CSISO2022JP", "JIS"); aIANA2JavaMap.put("ISO-2022-KR", "ISO2022KR"); aIANA2JavaMap.put("CSISO2022KR", "ISO2022KR"); aIANA2JavaMap.put("ISO-2022-CN", "ISO2022CN"); aIANA2JavaMap.put("X0201", "JIS0201"); aIANA2JavaMap.put("CSISO13JISC6220JP", "JIS0201"); aIANA2JavaMap.put("X0208", "JIS0208"); aIANA2JavaMap.put("ISO-IR-87", "JIS0208"); aIANA2JavaMap.put("X0208dbiJIS_X0208-1983", "JIS0208"); aIANA2JavaMap.put("CSISO87JISX0208", "JIS0208"); aIANA2JavaMap.put("X0212", "JIS0212"); aIANA2JavaMap.put("ISO-IR-159", "JIS0212"); aIANA2JavaMap.put("CSISO159JISX02121990", "JIS0212"); aIANA2JavaMap.put("GB18030", "GB18030"); aIANA2JavaMap.put("GBK", "GBK"); aIANA2JavaMap.put("CP936", "GBK"); aIANA2JavaMap.put("MS936", "GBK"); aIANA2JavaMap.put("WINDOWS-936", "GBK"); aIANA2JavaMap.put("SHIFT_JIS", "SJIS"); aIANA2JavaMap.put("CSSHIFTJIS", "SJIS"); aIANA2JavaMap.put("MS_KANJI", "SJIS"); aIANA2JavaMap.put("WINDOWS-31J", "MS932"); aIANA2JavaMap.put("CSWINDOWS31J", "MS932"); // Add support for Cp1252 and its friends aIANA2JavaMap.put("WINDOWS-1250", "Cp1250"); aIANA2JavaMap.put("WINDOWS-1251", "Cp1251"); aIANA2JavaMap.put("WINDOWS-1252", "Cp1252"); aIANA2JavaMap.put("WINDOWS-1253", "Cp1253"); aIANA2JavaMap.put("WINDOWS-1254", "Cp1254"); aIANA2JavaMap.put("WINDOWS-1255", "Cp1255"); aIANA2JavaMap.put("WINDOWS-1256", "Cp1256"); aIANA2JavaMap.put("WINDOWS-1257", "Cp1257"); aIANA2JavaMap.put("WINDOWS-1258", "Cp1258"); aIANA2JavaMap.put("TIS-620", "TIS620"); aIANA2JavaMap.put("ISO-8859-1", "ISO8859_1"); aIANA2JavaMap.put("ISO-IR-100", "ISO8859_1"); aIANA2JavaMap.put("ISO_8859-1", "ISO8859_1"); aIANA2JavaMap.put("LATIN1", "ISO8859_1"); aIANA2JavaMap.put("CSISOLATIN1", "ISO8859_1"); aIANA2JavaMap.put("L1", "ISO8859_1"); aIANA2JavaMap.put("IBM819", "ISO8859_1"); aIANA2JavaMap.put("CP819", "ISO8859_1"); aIANA2JavaMap.put("ISO-8859-2", "ISO8859_2"); aIANA2JavaMap.put("ISO-IR-101", "ISO8859_2"); aIANA2JavaMap.put("ISO_8859-2", "ISO8859_2"); aIANA2JavaMap.put("LATIN2", "ISO8859_2"); aIANA2JavaMap.put("CSISOLATIN2", "ISO8859_2"); aIANA2JavaMap.put("L2", "ISO8859_2"); aIANA2JavaMap.put("ISO-8859-3", "ISO8859_3"); aIANA2JavaMap.put("ISO-IR-109", "ISO8859_3"); aIANA2JavaMap.put("ISO_8859-3", "ISO8859_3"); aIANA2JavaMap.put("LATIN3", "ISO8859_3"); aIANA2JavaMap.put("CSISOLATIN3", "ISO8859_3"); aIANA2JavaMap.put("L3", "ISO8859_3"); aIANA2JavaMap.put("ISO-8859-4", "ISO8859_4"); aIANA2JavaMap.put("ISO-IR-110", "ISO8859_4"); aIANA2JavaMap.put("ISO_8859-4", "ISO8859_4"); aIANA2JavaMap.put("LATIN4", "ISO8859_4"); aIANA2JavaMap.put("CSISOLATIN4", "ISO8859_4"); aIANA2JavaMap.put("L4", "ISO8859_4"); aIANA2JavaMap.put("ISO-8859-5", "ISO8859_5"); aIANA2JavaMap.put("ISO-IR-144", "ISO8859_5"); aIANA2JavaMap.put("ISO_8859-5", "ISO8859_5"); aIANA2JavaMap.put("CYRILLIC", "ISO8859_5"); aIANA2JavaMap.put("CSISOLATINCYRILLIC", "ISO8859_5"); aIANA2JavaMap.put("ISO-8859-6", "ISO8859_6"); aIANA2JavaMap.put("ISO-IR-127", "ISO8859_6"); aIANA2JavaMap.put("ISO_8859-6", "ISO8859_6"); aIANA2JavaMap.put("ECMA-114", "ISO8859_6"); aIANA2JavaMap.put("ASMO-708", "ISO8859_6"); aIANA2JavaMap.put("ARABIC", "ISO8859_6"); aIANA2JavaMap.put("CSISOLATINARABIC", "ISO8859_6"); aIANA2JavaMap.put("ISO-8859-7", "ISO8859_7"); aIANA2JavaMap.put("ISO-IR-126", "ISO8859_7"); aIANA2JavaMap.put("ISO_8859-7", "ISO8859_7"); aIANA2JavaMap.put("ELOT_928", "ISO8859_7"); aIANA2JavaMap.put("ECMA-118", "ISO8859_7"); aIANA2JavaMap.put("GREEK", "ISO8859_7"); aIANA2JavaMap.put("CSISOLATINGREEK", "ISO8859_7"); aIANA2JavaMap.put("GREEK8", "ISO8859_7"); aIANA2JavaMap.put("ISO-8859-8", "ISO8859_8"); aIANA2JavaMap.put("ISO-8859-8-I", "ISO8859_8"); // added since this encoding only differs w.r.t. presentation aIANA2JavaMap.put("ISO-IR-138", "ISO8859_8"); aIANA2JavaMap.put("ISO_8859-8", "ISO8859_8"); aIANA2JavaMap.put("HEBREW", "ISO8859_8"); aIANA2JavaMap.put("CSISOLATINHEBREW", "ISO8859_8"); aIANA2JavaMap.put("ISO-8859-9", "ISO8859_9"); aIANA2JavaMap.put("ISO-IR-148", "ISO8859_9"); aIANA2JavaMap.put("ISO_8859-9", "ISO8859_9"); aIANA2JavaMap.put("LATIN5", "ISO8859_9"); aIANA2JavaMap.put("CSISOLATIN5", "ISO8859_9"); aIANA2JavaMap.put("L5", "ISO8859_9"); aIANA2JavaMap.put("ISO-8859-13", "ISO8859_13"); aIANA2JavaMap.put("ISO-8859-15", "ISO8859_15_FDIS"); aIANA2JavaMap.put("ISO_8859-15", "ISO8859_15_FDIS"); aIANA2JavaMap.put("LATIN-9", "ISO8859_15_FDIS"); aIANA2JavaMap.put("KOI8-R", "KOI8_R"); aIANA2JavaMap.put("CSKOI8R", "KOI8_R"); aIANA2JavaMap.put("US-ASCII", "ASCII"); aIANA2JavaMap.put("ISO-IR-6", "ASCII"); aIANA2JavaMap.put("ANSI_X3.4-1968", "ASCII"); aIANA2JavaMap.put("ANSI_X3.4-1986", "ASCII"); aIANA2JavaMap.put("ISO_646.IRV:1991", "ASCII"); aIANA2JavaMap.put("ASCII", "ASCII"); aIANA2JavaMap.put("CSASCII", "ASCII"); aIANA2JavaMap.put("ISO646-US", "ASCII"); aIANA2JavaMap.put("US", "ASCII"); aIANA2JavaMap.put("IBM367", "ASCII"); aIANA2JavaMap.put("CP367", "ASCII"); aIANA2JavaMap.put("UTF-8", "UTF8"); aIANA2JavaMap.put("UTF-16", "UTF-16"); aIANA2JavaMap.put("UTF-16BE", "UnicodeBig"); aIANA2JavaMap.put("UTF-16LE", "UnicodeLittle"); // support for 1047, as proposed to be added to the // IANA registry in // http://lists.w3.org/Archives/Public/ietf-charset/2002JulSep/0049.html aIANA2JavaMap.put("IBM-1047", "Cp1047"); aIANA2JavaMap.put("IBM1047", "Cp1047"); aIANA2JavaMap.put("CP1047", "Cp1047"); // Adding new aliases as proposed in // http://lists.w3.org/Archives/Public/ietf-charset/2002JulSep/0058.html aIANA2JavaMap.put("IBM-37", "CP037"); aIANA2JavaMap.put("IBM-273", "CP273"); aIANA2JavaMap.put("IBM-277", "CP277"); aIANA2JavaMap.put("IBM-278", "CP278"); aIANA2JavaMap.put("IBM-280", "CP280"); aIANA2JavaMap.put("IBM-284", "CP284"); aIANA2JavaMap.put("IBM-285", "CP285"); aIANA2JavaMap.put("IBM-290", "CP290"); aIANA2JavaMap.put("IBM-297", "CP297"); aIANA2JavaMap.put("IBM-420", "CP420"); aIANA2JavaMap.put("IBM-424", "CP424"); aIANA2JavaMap.put("IBM-437", "CP437"); aIANA2JavaMap.put("IBM-500", "CP500"); aIANA2JavaMap.put("IBM-775", "CP775"); aIANA2JavaMap.put("IBM-850", "CP850"); aIANA2JavaMap.put("IBM-852", "CP852"); aIANA2JavaMap.put("IBM-855", "CP855"); aIANA2JavaMap.put("IBM-857", "CP857"); aIANA2JavaMap.put("IBM-858", "CP858"); aIANA2JavaMap.put("IBM-860", "CP860"); aIANA2JavaMap.put("IBM-861", "CP861"); aIANA2JavaMap.put("IBM-862", "CP862"); aIANA2JavaMap.put("IBM-863", "CP863"); aIANA2JavaMap.put("IBM-864", "CP864"); aIANA2JavaMap.put("IBM-865", "CP865"); aIANA2JavaMap.put("IBM-866", "CP866"); aIANA2JavaMap.put("IBM-868", "CP868"); aIANA2JavaMap.put("IBM-869", "CP869"); aIANA2JavaMap.put("IBM-870", "CP870"); aIANA2JavaMap.put("IBM-871", "CP871"); aIANA2JavaMap.put("IBM-918", "CP918"); aIANA2JavaMap.put("IBM-924", "CP924"); aIANA2JavaMap.put("IBM-1026", "CP1026"); aIANA2JavaMap.put("IBM-1140", "Cp1140"); aIANA2JavaMap.put("IBM-1141", "Cp1141"); aIANA2JavaMap.put("IBM-1142", "Cp1142"); aIANA2JavaMap.put("IBM-1143", "Cp1143"); aIANA2JavaMap.put("IBM-1144", "Cp1144"); aIANA2JavaMap.put("IBM-1145", "Cp1145"); aIANA2JavaMap.put("IBM-1146", "Cp1146"); aIANA2JavaMap.put("IBM-1147", "Cp1147"); aIANA2JavaMap.put("IBM-1148", "Cp1148"); aIANA2JavaMap.put("IBM-1149", "Cp1149"); aIANA2JavaMap.put("IBM-819", "ISO8859_1"); aIANA2JavaMap.put("IBM-367", "ASCII"); fIANA2JavaMap = Collections.unmodifiableMap(aIANA2JavaMap); // REVISIT: // j:CNS11643 -> EUC-TW? // ISO-2022-CN? ISO-2022-CN-EXT? // add Java to IANA encoding mappings //aJava2IANAMap.put("8859_1", "US-ASCII"); // ? aJava2IANAMap.put("ISO8859_1", "ISO-8859-1"); aJava2IANAMap.put("ISO8859_2", "ISO-8859-2"); aJava2IANAMap.put("ISO8859_3", "ISO-8859-3"); aJava2IANAMap.put("ISO8859_4", "ISO-8859-4"); aJava2IANAMap.put("ISO8859_5", "ISO-8859-5"); aJava2IANAMap.put("ISO8859_6", "ISO-8859-6"); aJava2IANAMap.put("ISO8859_7", "ISO-8859-7"); aJava2IANAMap.put("ISO8859_8", "ISO-8859-8"); aJava2IANAMap.put("ISO8859_9", "ISO-8859-9"); aJava2IANAMap.put("ISO8859_13", "ISO-8859-13"); aJava2IANAMap.put("ISO8859_15", "ISO-8859-15"); aJava2IANAMap.put("ISO8859_15_FDIS", "ISO-8859-15"); aJava2IANAMap.put("Big5", "BIG5"); aJava2IANAMap.put("CP037", "EBCDIC-CP-US"); aJava2IANAMap.put("CP273", "IBM273"); aJava2IANAMap.put("CP277", "EBCDIC-CP-DK"); aJava2IANAMap.put("CP278", "EBCDIC-CP-FI"); aJava2IANAMap.put("CP280", "EBCDIC-CP-IT"); aJava2IANAMap.put("CP284", "EBCDIC-CP-ES"); aJava2IANAMap.put("CP285", "EBCDIC-CP-GB"); aJava2IANAMap.put("CP290", "EBCDIC-JP-KANA"); aJava2IANAMap.put("CP297", "EBCDIC-CP-FR"); aJava2IANAMap.put("CP420", "EBCDIC-CP-AR1"); aJava2IANAMap.put("CP424", "EBCDIC-CP-HE"); aJava2IANAMap.put("CP437", "IBM437"); aJava2IANAMap.put("CP500", "EBCDIC-CP-CH"); aJava2IANAMap.put("CP775", "IBM775"); aJava2IANAMap.put("CP850", "IBM850"); aJava2IANAMap.put("CP852", "IBM852"); aJava2IANAMap.put("CP855", "IBM855"); aJava2IANAMap.put("CP857", "IBM857"); aJava2IANAMap.put("CP858", "IBM00858"); aJava2IANAMap.put("CP860", "IBM860"); aJava2IANAMap.put("CP861", "IBM861"); aJava2IANAMap.put("CP862", "IBM862"); aJava2IANAMap.put("CP863", "IBM863"); aJava2IANAMap.put("CP864", "IBM864"); aJava2IANAMap.put("CP865", "IBM865"); aJava2IANAMap.put("CP866", "IBM866"); aJava2IANAMap.put("CP868", "IBM868"); aJava2IANAMap.put("CP869", "IBM869"); aJava2IANAMap.put("CP870", "EBCDIC-CP-ROECE"); aJava2IANAMap.put("CP871", "EBCDIC-CP-IS"); aJava2IANAMap.put("CP918", "EBCDIC-CP-AR2"); aJava2IANAMap.put("CP924", "IBM00924"); aJava2IANAMap.put("CP1026", "IBM1026"); aJava2IANAMap.put("CP1140", "IBM01140"); aJava2IANAMap.put("CP1141", "IBM01141"); aJava2IANAMap.put("CP1142", "IBM01142"); aJava2IANAMap.put("CP1143", "IBM01143"); aJava2IANAMap.put("CP1144", "IBM01144"); aJava2IANAMap.put("CP1145", "IBM01145"); aJava2IANAMap.put("CP1146", "IBM01146"); aJava2IANAMap.put("CP1147", "IBM01147"); aJava2IANAMap.put("CP1148", "IBM01148"); aJava2IANAMap.put("CP1149", "IBM01149"); aJava2IANAMap.put("EUCJIS", "EUC-JP"); aJava2IANAMap.put("KS_C_5601-1987", "KS_C_5601-1987"); aJava2IANAMap.put("GB2312", "GB2312"); aJava2IANAMap.put("ISO2022KR", "ISO-2022-KR"); aJava2IANAMap.put("ISO2022CN", "ISO-2022-CN"); aJava2IANAMap.put("JIS", "ISO-2022-JP"); aJava2IANAMap.put("KOI8_R", "KOI8-R"); aJava2IANAMap.put("KSC5601", "EUC-KR"); aJava2IANAMap.put("GB18030", "GB18030"); aJava2IANAMap.put("GBK", "GBK"); aJava2IANAMap.put("SJIS", "SHIFT_JIS"); aJava2IANAMap.put("MS932", "WINDOWS-31J"); aJava2IANAMap.put("UTF8", "UTF-8"); aJava2IANAMap.put("Unicode", "UTF-16"); aJava2IANAMap.put("UnicodeBig", "UTF-16BE"); aJava2IANAMap.put("UnicodeLittle", "UTF-16LE"); aJava2IANAMap.put("JIS0201", "X0201"); aJava2IANAMap.put("JIS0208", "X0208"); aJava2IANAMap.put("JIS0212", "ISO-IR-159"); // proposed addition (see above for details): aJava2IANAMap.put("CP1047", "IBM1047"); fJava2IANAMap = Collections.unmodifiableMap(aIANA2JavaMap); } // <clinit>() // // Constructors //
Default constructor.
/** Default constructor. */
public EncodingMap() {} // // Public static methods //
Returns the Java encoding name for the specified IANA encoding name.
Params:
  • ianaEncoding – The IANA encoding name.
/** * Returns the Java encoding name for the specified IANA encoding name. * * @param ianaEncoding The IANA encoding name. */
public static String getIANA2JavaMapping(String ianaEncoding) { return fIANA2JavaMap.get(ianaEncoding); } // getIANA2JavaMapping(String):String
Returns the IANA encoding name for the specified Java encoding name.
Params:
  • javaEncoding – The Java encoding name.
/** * Returns the IANA encoding name for the specified Java encoding name. * * @param javaEncoding The Java encoding name. */
public static String getJava2IANAMapping(String javaEncoding) { return fJava2IANAMap.get(javaEncoding); } // getJava2IANAMapping(String):String } // class EncodingMap