/*
 * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package sun.io;

import java.util.Collections;
import java.util.Iterator;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.security.AccessController;
import java.security.PrivilegedAction;
import sun.security.action.GetPropertyAction;

/*
 * This class is public in sun.io, so other sun.* packages (such as
 * HotJava) can use it, without exposing it to java.*.
 * Translates IANA encoding name to the string which is the part of
 * converter class.
 */

Deprecated:Replaced by charset. THIS API WILL BE REMOVED IN J2SE 1.6.
/** * @deprecated Replaced by {@link java.nio.charset}. THIS API WILL BE * REMOVED IN J2SE 1.6. */
@Deprecated public class CharacterEncoding { private static boolean sjisIsMS932; private static Map aliasTable; private static volatile boolean installedAll; static { aliasTable = new HashMap(460, 1.0f); /* MDA */ aliasTable.put("us-ascii", "ASCII"); aliasTable.put("ascii", "ASCII"); aliasTable.put("646", "ASCII"); // Solaris POSIX locale aliasTable.put("iso_646.irv:1983", "ASCII"); // Linux POSIX locale aliasTable.put("ansi_x3.4-1968", "ASCII"); // Caldera linux aliasTable.put("iso646-us", "ASCII"); aliasTable.put("default", "ASCII"); // compatibility with obsolete "Default" converters aliasTable.put("ascii7", "ASCII"); // compatibility with obsolete "Default" converters // Core encodings aliasTable.put("8859_1", "ISO8859_1"); aliasTable.put("iso8859_1", "ISO8859_1"); aliasTable.put("utf-8", "UTF8"); aliasTable.put("utf8", "UTF8"); aliasTable.put("utf-16le", "UnicodeLittleUnmarked"); // Standard encodings used on Solaris and Linux aliasTable.put("iso8859-1", "ISO8859_1"); aliasTable.put("iso8859-2", "ISO8859_2"); aliasTable.put("iso8859-4", "ISO8859_4"); aliasTable.put("iso8859-5", "ISO8859_5"); aliasTable.put("iso8859-6", "ISO8859_6"); aliasTable.put("iso8859-8", "ISO8859_8"); aliasTable.put("iso8859-9", "ISO8859_9"); aliasTable.put("iso8859-13", "ISO8859_13"); aliasTable.put("iso8859-15", "ISO8859_15"); aliasTable.put("5601", "EUC_KR"); aliasTable.put("ansi-1251", "Cp1251"); aliasTable.put("big5", "Big5"); aliasTable.put("big5hk", "Big5_HKSCS"); aliasTable.put("eucjp", "EUC_JP"); aliasTable.put("cns11643", "EUC_TW"); aliasTable.put("gb2312", "EUC_CN"); aliasTable.put("gb18030", "GB18030"); aliasTable.put("gbk", "GBK"); aliasTable.put("koi8-r", "KOI8_R"); aliasTable.put("tis620.2533", "TIS620"); // Windows encodings aliasTable.put("cp1250", "Cp1250"); aliasTable.put("cp1251", "Cp1251"); aliasTable.put("cp1252", "Cp1252"); aliasTable.put("cp1253", "Cp1253"); aliasTable.put("cp1254", "Cp1254"); aliasTable.put("cp1255", "Cp1255"); aliasTable.put("cp1256", "Cp1256"); aliasTable.put("cp1257", "Cp1257"); aliasTable.put("cp1258", "Cp1258"); aliasTable.put("ms874", "MS874"); aliasTable.put("ms932", "MS932"); aliasTable.put("ms949", "MS949"); aliasTable.put("ms950", "MS950"); aliasTable.put("ms1361", "MS1361"); } public static String aliasName(String name){ if (name.startsWith("\1")) { // Emergency access to old converters name = name.substring(1); } // need to use Locale.US so we can load ISO converters in tr_TR locale String lower = name.toLowerCase(Locale.US); String val = (String) aliasTable.get(lower); if (val == null && !installedAll) { installAll(); val = (String) aliasTable.get(lower); } return val; } private static synchronized void installAll() { if (!installedAll) { GetPropertyAction a = new GetPropertyAction("sun.nio.cs.map"); String map = ((String)AccessController.doPrivileged(a)); if (map != null) { sjisIsMS932 = map.equalsIgnoreCase("Windows-31J/Shift_JIS"); } else { sjisIsMS932 = false; } // MIBenum: 4 aliasTable.put("8859_1", "ISO8859_1"); aliasTable.put("iso_8859-1:1987", "ISO8859_1"); aliasTable.put("iso-ir-100", "ISO8859_1"); aliasTable.put("iso_8859-1", "ISO8859_1"); aliasTable.put("iso-8859-1", "ISO8859_1"); aliasTable.put("iso8859-1", "ISO8859_1"); aliasTable.put("latin1", "ISO8859_1"); aliasTable.put("l1", "ISO8859_1"); aliasTable.put("ibm819", "ISO8859_1"); aliasTable.put("ibm-819", "ISO8859_1"); aliasTable.put("cp819", "ISO8859_1"); aliasTable.put("819", "ISO8859_1"); aliasTable.put("csisolatin1", "ISO8859_1"); // MIBenum: 5 aliasTable.put("8859_2", "ISO8859_2"); aliasTable.put("iso_8859-2:1987", "ISO8859_2"); aliasTable.put("iso-ir-101", "ISO8859_2"); aliasTable.put("iso_8859-2", "ISO8859_2"); aliasTable.put("iso-8859-2", "ISO8859_2"); aliasTable.put("iso8859-2", "ISO8859_2"); aliasTable.put("latin2", "ISO8859_2"); aliasTable.put("l2", "ISO8859_2"); aliasTable.put("ibm912", "ISO8859_2"); aliasTable.put("ibm-912", "ISO8859_2"); aliasTable.put("cp912", "ISO8859_2"); aliasTable.put("912", "ISO8859_2"); aliasTable.put("csisolatin2", "ISO8859_2"); // MIBenum: 6 aliasTable.put("8859_3", "ISO8859_3"); aliasTable.put("iso_8859-3:1988", "ISO8859_3"); aliasTable.put("iso-ir-109", "ISO8859_3"); aliasTable.put("iso_8859-3", "ISO8859_3"); aliasTable.put("iso-8859-3", "ISO8859_3"); aliasTable.put("iso8859-3", "ISO8859_3"); aliasTable.put("latin3", "ISO8859_3"); aliasTable.put("l3", "ISO8859_3"); aliasTable.put("ibm913", "ISO8859_3"); aliasTable.put("ibm-913", "ISO8859_3"); aliasTable.put("cp913", "ISO8859_3"); aliasTable.put("913", "ISO8859_3"); aliasTable.put("csisolatin3", "ISO8859_3"); // MIBenum: 7 aliasTable.put("8859_4", "ISO8859_4"); aliasTable.put("iso_8859-4:1988", "ISO8859_4"); aliasTable.put("iso-ir-110", "ISO8859_4"); aliasTable.put("iso_8859-4", "ISO8859_4"); aliasTable.put("iso-8859-4", "ISO8859_4"); aliasTable.put("iso8859-4", "ISO8859_4"); aliasTable.put("latin4", "ISO8859_4"); aliasTable.put("l4", "ISO8859_4"); aliasTable.put("ibm914", "ISO8859_4"); aliasTable.put("ibm-914", "ISO8859_4"); aliasTable.put("cp914", "ISO8859_4"); aliasTable.put("914", "ISO8859_4"); aliasTable.put("csisolatin4", "ISO8859_4"); // MIBenum: 8 aliasTable.put("8859_5", "ISO8859_5"); aliasTable.put("iso_8859-5:1988", "ISO8859_5"); aliasTable.put("iso-ir-144", "ISO8859_5"); aliasTable.put("iso_8859-5", "ISO8859_5"); aliasTable.put("iso-8859-5", "ISO8859_5"); aliasTable.put("iso8859-5", "ISO8859_5"); aliasTable.put("cyrillic", "ISO8859_5"); aliasTable.put("csisolatincyrillic", "ISO8859_5"); aliasTable.put("ibm915", "ISO8859_5"); aliasTable.put("ibm-915", "ISO8859_5"); aliasTable.put("cp915", "ISO8859_5"); aliasTable.put("915", "ISO8859_5"); // MIBenum: 9 aliasTable.put("8859_6", "ISO8859_6"); aliasTable.put("iso_8859-6:1987", "ISO8859_6"); aliasTable.put("iso-ir-127", "ISO8859_6"); aliasTable.put("iso_8859-6", "ISO8859_6"); aliasTable.put("iso-8859-6", "ISO8859_6"); aliasTable.put("iso8859-6", "ISO8859_6"); aliasTable.put("ecma-114", "ISO8859_6"); aliasTable.put("asmo-708", "ISO8859_6"); aliasTable.put("arabic", "ISO8859_6"); aliasTable.put("csisolatinarabic", "ISO8859_6"); aliasTable.put("ibm1089", "ISO8859_6"); aliasTable.put("ibm-1089", "ISO8859_6"); aliasTable.put("cp1089", "ISO8859_6"); aliasTable.put("1089", "ISO8859_6"); // MIBenum: 10 aliasTable.put("8859_7", "ISO8859_7"); aliasTable.put("iso_8859-7:1987", "ISO8859_7"); aliasTable.put("iso-ir-126", "ISO8859_7"); aliasTable.put("iso_8859-7", "ISO8859_7"); aliasTable.put("iso-8859-7", "ISO8859_7"); aliasTable.put("iso8859-7", "ISO8859_7"); aliasTable.put("elot_928", "ISO8859_7"); aliasTable.put("ecma-118", "ISO8859_7"); aliasTable.put("greek", "ISO8859_7"); aliasTable.put("greek8", "ISO8859_7"); aliasTable.put("csisolatingreek", "ISO8859_7"); aliasTable.put("ibm813", "ISO8859_7"); aliasTable.put("ibm-813", "ISO8859_7"); aliasTable.put("cp813", "ISO8859_7"); aliasTable.put("813", "ISO8859_7"); aliasTable.put("sun_eu_greek", "ISO8859_7"); // MIBenum: 11 aliasTable.put("8859_8", "ISO8859_8"); aliasTable.put("iso_8859-8:1988", "ISO8859_8"); aliasTable.put("iso-ir-138", "ISO8859_8"); aliasTable.put("iso_8859-8", "ISO8859_8"); aliasTable.put("iso-8859-8", "ISO8859_8"); aliasTable.put("iso8859-8", "ISO8859_8"); aliasTable.put("hebrew", "ISO8859_8"); aliasTable.put("csisolatinhebrew", "ISO8859_8"); aliasTable.put("ibm916", "ISO8859_8"); aliasTable.put("ibm-916", "ISO8859_8"); aliasTable.put("cp916", "ISO8859_8"); aliasTable.put("916", "ISO8859_8"); // MIBenum: 12 aliasTable.put("8859_9", "ISO8859_9"); aliasTable.put("iso-ir-148", "ISO8859_9"); aliasTable.put("iso_8859-9", "ISO8859_9"); aliasTable.put("iso-8859-9", "ISO8859_9"); aliasTable.put("iso8859-9", "ISO8859_9"); aliasTable.put("latin5", "ISO8859_9"); aliasTable.put("l5", "ISO8859_9"); aliasTable.put("ibm920", "ISO8859_9"); aliasTable.put("ibm-920", "ISO8859_9"); aliasTable.put("cp920", "ISO8859_9"); aliasTable.put("920", "ISO8859_9"); aliasTable.put("csisolatin5", "ISO8859_9"); // MIBenum: ??? aliasTable.put("8859_13", "ISO8859_13"); aliasTable.put("iso_8859-13", "ISO8859_13"); aliasTable.put("iso-8859-13", "ISO8859_13"); aliasTable.put("iso8859-13", "ISO8859_13"); // MIBenum: ???? aliasTable.put("8859_15", "ISO8859_15"); aliasTable.put("iso-8859-15", "ISO8859_15"); aliasTable.put("iso_8859-15", "ISO8859_15"); aliasTable.put("iso8859-15", "ISO8859_15"); aliasTable.put("ibm923", "ISO8859_15"); aliasTable.put("ibm-923", "ISO8859_15"); aliasTable.put("cp923", "ISO8859_15"); aliasTable.put("923", "ISO8859_15"); aliasTable.put("latin0", "ISO8859_15"); aliasTable.put("latin9", "ISO8859_15"); aliasTable.put("csisolatin0", "ISO8859_15"); aliasTable.put("csisolatin9", "ISO8859_15"); //For compatibility purpose aliasTable.put("iso8859_15_fdis", "ISO8859_15"); // MIBenum: 106 aliasTable.put("utf-8", "UTF8"); // Alias recommended in RFC 1641 aliasTable.put("unicode-1-1-utf-8", "UTF8"); // MIBenum: 1010 aliasTable.put("unicode-1-1", "UnicodeBigUnmarked"); // MIBenum: 1000 aliasTable.put("iso-10646-ucs-2", "UnicodeBigUnmarked"); // Per Unicode standard aliasTable.put("utf-16be", "UnicodeBigUnmarked"); aliasTable.put("utf-16le", "UnicodeLittleUnmarked"); aliasTable.put("utf-16", "UTF16"); // Used by drag-and-drop subsystem aliasTable.put("x-utf-16be", "UnicodeBigUnmarked"); aliasTable.put("x-utf-16le", "UnicodeLittleUnmarked"); aliasTable.put("unicode", "Unicode"); // MIBenum: ???? aliasTable.put("ibm037", "Cp037"); aliasTable.put("ibm-037", "Cp037"); aliasTable.put("cp037", "Cp037"); aliasTable.put("037", "Cp037"); // MIBenum: ???? aliasTable.put("ibm273", "Cp273"); aliasTable.put("ibm-273", "Cp273"); aliasTable.put("cp273", "Cp273"); aliasTable.put("273", "Cp273"); // MIBenum: ???? aliasTable.put("ibm277", "Cp277"); aliasTable.put("ibm-277", "Cp277"); aliasTable.put("cp277", "Cp277"); aliasTable.put("277", "Cp277"); // MIBenum: ???? aliasTable.put("ibm278", "Cp278"); aliasTable.put("ibm-278", "Cp278"); aliasTable.put("cp278", "Cp278"); aliasTable.put("278", "Cp278"); // MIBenum: ???? aliasTable.put("ibm280", "Cp280"); aliasTable.put("ibm-280", "Cp280"); aliasTable.put("cp280", "Cp280"); aliasTable.put("280", "Cp280"); // MIBenum: ???? aliasTable.put("ibm284", "Cp284"); aliasTable.put("ibm-284", "Cp284"); aliasTable.put("cp284", "Cp284"); aliasTable.put("284", "Cp284"); // MIBenum: ???? aliasTable.put("ibm285", "Cp285"); aliasTable.put("ibm-285", "Cp285"); aliasTable.put("cp285", "Cp285"); aliasTable.put("285", "Cp285"); // MIBenum: ???? aliasTable.put("ibm297", "Cp297"); aliasTable.put("ibm-297", "Cp297"); aliasTable.put("cp297", "Cp297"); aliasTable.put("297", "Cp297"); // MIBenum: ???? aliasTable.put("ibm420", "Cp420"); aliasTable.put("ibm-420", "Cp420"); aliasTable.put("cp420", "Cp420"); aliasTable.put("420", "Cp420"); // MIBenum: ???? aliasTable.put("ibm424", "Cp424"); aliasTable.put("ibm-424", "Cp424"); aliasTable.put("cp424", "Cp424"); aliasTable.put("424", "Cp424"); // MIBenum: 2011 aliasTable.put("ibm437", "Cp437"); aliasTable.put("ibm-437", "Cp437"); aliasTable.put("cp437", "Cp437"); aliasTable.put("437", "Cp437"); aliasTable.put("cspc8codepage437", "Cp437"); // MIBenum: ???? aliasTable.put("ibm500", "Cp500"); aliasTable.put("ibm-500", "Cp500"); aliasTable.put("cp500", "Cp500"); aliasTable.put("500", "Cp500"); // MIBenum: ???? aliasTable.put("ibm737", "Cp737"); aliasTable.put("ibm-737", "Cp737"); aliasTable.put("cp737", "Cp737"); aliasTable.put("737", "Cp737"); // MIBenum: ???? aliasTable.put("ibm775", "Cp775"); aliasTable.put("ibm-775", "Cp775"); aliasTable.put("cp775", "Cp775"); aliasTable.put("775", "Cp775"); aliasTable.put("ibm834", "Cp834"); aliasTable.put("ibm-834", "Cp834"); aliasTable.put("cp834", "Cp834"); aliasTable.put("834", "Cp834"); // MIBenum: ???? aliasTable.put("ibm838", "Cp838"); /* MDA */ aliasTable.put("ibm-838", "Cp838"); /* MDA */ aliasTable.put("cp838", "Cp838"); /* MDA */ aliasTable.put("838", "Cp838"); /* MDA */ // "Cp850" // MIBenum: 2009 aliasTable.put("ibm850", "Cp850"); aliasTable.put("ibm-850", "Cp850"); aliasTable.put("cp850", "Cp850"); aliasTable.put("850", "Cp850"); aliasTable.put("cspc850multilingual", "Cp850"); // "Cp852" // MIBenum: 2010 aliasTable.put("ibm852", "Cp852"); aliasTable.put("ibm-852", "Cp852"); aliasTable.put("cp852", "Cp852"); aliasTable.put("852", "Cp852"); aliasTable.put("cspcp852", "Cp852"); // "Cp855" // MIBenum: 2046 aliasTable.put("ibm855", "Cp855"); aliasTable.put("ibm-855", "Cp855"); aliasTable.put("cp855", "Cp855"); aliasTable.put("855", "Cp855"); aliasTable.put("cspcp855", "Cp855"); // "Cp855" // MIBenum: ??? aliasTable.put("ibm856", "Cp856"); aliasTable.put("ibm-856", "Cp856"); aliasTable.put("cp856", "Cp856"); aliasTable.put("856", "Cp856"); // "Cp857" // MIBenum: 2047 aliasTable.put("ibm857", "Cp857"); aliasTable.put("ibm-857", "Cp857"); aliasTable.put("cp857", "Cp857"); aliasTable.put("857", "Cp857"); aliasTable.put("csibm857", "Cp857"); // "Cp860" // MIBenum: 2048 aliasTable.put("ibm860", "Cp860"); aliasTable.put("ibm-860", "Cp860"); aliasTable.put("cp860", "Cp860"); aliasTable.put("860", "Cp860"); aliasTable.put("csibm860", "Cp860"); // MIBenum: 2049 aliasTable.put("ibm861", "Cp861"); aliasTable.put("ibm-861", "Cp861"); aliasTable.put("cp861", "Cp861"); aliasTable.put("cp-is", "Cp861"); aliasTable.put("861", "Cp861"); aliasTable.put("csibm861", "Cp861"); // MIBenum: 2013 aliasTable.put("ibm862", "Cp862"); aliasTable.put("ibm-862", "Cp862"); aliasTable.put("cp862", "Cp862"); aliasTable.put("862", "Cp862"); aliasTable.put("cspc862latinhebrew", "Cp862"); // MIBenum: 2050 aliasTable.put("ibm863", "Cp863"); aliasTable.put("ibm-863", "Cp863"); aliasTable.put("cp863", "Cp863"); aliasTable.put("863", "Cp863"); aliasTable.put("csibm863", "Cp863"); // MIBenum: 2051 aliasTable.put("ibm864", "Cp864"); aliasTable.put("ibm-864", "Cp864"); aliasTable.put("cp864", "Cp864"); aliasTable.put("csibm864", "Cp864"); // MIBenum: 2052 aliasTable.put("ibm865", "Cp865"); aliasTable.put("ibm-865", "Cp865"); aliasTable.put("cp865", "Cp865"); aliasTable.put("865", "Cp865"); aliasTable.put("csibm865", "Cp865"); // MIBenum: ???? aliasTable.put("ibm866", "Cp866"); aliasTable.put("ibm-866", "Cp866"); aliasTable.put("cp866", "Cp866"); aliasTable.put("866", "Cp866"); aliasTable.put("csibm866", "Cp866"); // MIBenum: ???? aliasTable.put("ibm868", "Cp868"); aliasTable.put("ibm-868", "Cp868"); aliasTable.put("cp868", "Cp868"); aliasTable.put("868", "Cp868"); // MIBenum: 2054 aliasTable.put("ibm869", "Cp869"); aliasTable.put("ibm-869", "Cp869"); aliasTable.put("cp869", "Cp869"); aliasTable.put("869", "Cp869"); aliasTable.put("cp-gr", "Cp869"); aliasTable.put("csibm869", "Cp869"); // MIBenum: ???? aliasTable.put("ibm870", "Cp870"); aliasTable.put("ibm-870", "Cp870"); aliasTable.put("cp870", "Cp870"); aliasTable.put("870", "Cp870"); // MIBenum: ???? aliasTable.put("ibm871", "Cp871"); aliasTable.put("ibm-871", "Cp871"); aliasTable.put("cp871", "Cp871"); aliasTable.put("871", "Cp871"); // MIBenum: ???? aliasTable.put("ibm874", "Cp874"); aliasTable.put("ibm-874", "Cp874"); aliasTable.put("cp874", "Cp874"); aliasTable.put("874", "Cp874"); // MIBenum: ???? aliasTable.put("ibm875", "Cp875"); aliasTable.put("ibm-875", "Cp875"); aliasTable.put("cp875", "Cp875"); aliasTable.put("875", "Cp875"); // MIBenum: ???? aliasTable.put("ibm918", "Cp918"); aliasTable.put("ibm-918", "Cp918"); aliasTable.put("cp918", "Cp918"); aliasTable.put("918", "Cp918"); // MIBenum: ???? aliasTable.put("ibm921", "Cp921"); aliasTable.put("ibm-921", "Cp921"); aliasTable.put("cp921", "Cp921"); aliasTable.put("921", "Cp921"); // MIBenum: ???? aliasTable.put("ibm922", "Cp922"); aliasTable.put("ibm-922", "Cp922"); aliasTable.put("cp922", "Cp922"); aliasTable.put("922", "Cp922"); // MIBenum: ???? aliasTable.put("ibm930", "Cp930"); /* MDA */ aliasTable.put("ibm-930", "Cp930"); /* MDA */ aliasTable.put("cp930", "Cp930"); /* MDA */ aliasTable.put("930", "Cp930"); /* MDA */ // MIBenum: ???? aliasTable.put("ibm933", "Cp933"); /* MDA */ aliasTable.put("ibm-933", "Cp933"); /* MDA */ aliasTable.put("cp933", "Cp933"); /* MDA */ aliasTable.put("933", "Cp933"); /* MDA */ // MIBenum: ???? aliasTable.put("ibm935", "Cp935"); /* MDA */ aliasTable.put("ibm-935", "Cp935"); /* MDA */ aliasTable.put("cp935", "Cp935"); /* MDA */ aliasTable.put("935", "Cp935"); /* MDA */ // MIBenum: ???? aliasTable.put("ibm937", "Cp937"); /* MDA */ aliasTable.put("ibm-937", "Cp937"); /* MDA */ aliasTable.put("cp937", "Cp937"); /* MDA */ aliasTable.put("937", "Cp937"); /* MDA */ // MIBenum: ???? aliasTable.put("ibm939", "Cp939"); /* MDA */ aliasTable.put("ibm-939", "Cp939"); /* MDA */ aliasTable.put("cp939", "Cp939"); /* MDA */ aliasTable.put("939", "Cp939"); /* MDA */ // MIBenum: ???? aliasTable.put("ibm942", "Cp942"); /* MDA */ aliasTable.put("ibm-942", "Cp942"); /* MDA */ aliasTable.put("cp942", "Cp942"); /* MDA */ aliasTable.put("942", "Cp942"); /* MDA */ // MIBenum: ???? aliasTable.put("ibm943", "Cp943"); /* ibm.3158 */ aliasTable.put("ibm-943", "Cp943"); /* ibm.3158 */ aliasTable.put("cp943", "Cp943"); /* ibm.3158 */ aliasTable.put("943", "Cp943"); /* ibm.3158 */ // MIBenum: ???? aliasTable.put("ibm948", "Cp948"); /* MDA */ aliasTable.put("ibm-948", "Cp948"); /* MDA */ aliasTable.put("cp948", "Cp948"); /* MDA */ aliasTable.put("948", "Cp948"); /* MDA */ // MIBenum: ???? aliasTable.put("ibm949", "Cp949"); /* MDA */ aliasTable.put("ibm-949", "Cp949"); /* MDA */ aliasTable.put("cp949", "Cp949"); /* MDA */ aliasTable.put("949", "Cp949"); /* MDA */ // MIBenum: ???? aliasTable.put("ibm950", "Cp950"); /* MDA */ aliasTable.put("ibm-950", "Cp950"); /* MDA */ aliasTable.put("cp950", "Cp950"); /* MDA */ aliasTable.put("950", "Cp950"); /* MDA */ // MIBenum: ???? aliasTable.put("ibm964", "Cp964"); /* MDA */ aliasTable.put("ibm-964", "Cp964"); /* MDA */ aliasTable.put("cp964", "Cp964"); /* MDA */ aliasTable.put("964", "Cp964"); /* MDA */ // MIBenum: ???? aliasTable.put("ibm970", "Cp970"); /* MDA */ aliasTable.put("ibm-970", "Cp970"); /* MDA */ aliasTable.put("cp970", "Cp970"); /* MDA */ aliasTable.put("970", "Cp970"); /* MDA */ // MIBenum: ???? aliasTable.put("ibm1006", "Cp1006"); aliasTable.put("ibm-1006", "Cp1006"); aliasTable.put("cp1006", "Cp1006"); aliasTable.put("1006", "Cp1006"); // MIBenum: ???? aliasTable.put("ibm1025", "Cp1025"); aliasTable.put("ibm-1025", "Cp1025"); aliasTable.put("cp1025", "Cp1025"); aliasTable.put("1025", "Cp1025"); // MIBenum: ???? aliasTable.put("ibm1026", "Cp1026"); aliasTable.put("ibm-1026", "Cp1026"); aliasTable.put("cp1026", "Cp1026"); aliasTable.put("1026", "Cp1026"); // MIBenum: ???? aliasTable.put("ibm1097", "Cp1097"); aliasTable.put("ibm-1097", "Cp1097"); aliasTable.put("cp1097", "Cp1097"); aliasTable.put("1097", "Cp1097"); // MIBenum: ???? aliasTable.put("ibm1098", "Cp1098"); aliasTable.put("ibm-1098", "Cp1098"); aliasTable.put("cp1098", "Cp1098"); aliasTable.put("1098", "Cp1098"); // MIBenum: ???? aliasTable.put("ibm1112", "Cp1112"); aliasTable.put("ibm-1112", "Cp1112"); aliasTable.put("cp1112", "Cp1112"); aliasTable.put("1112", "Cp1112"); // MIBenum: ???? aliasTable.put("ibm1122", "Cp1122"); aliasTable.put("ibm-1122", "Cp1122"); aliasTable.put("cp1122", "Cp1122"); aliasTable.put("1122", "Cp1122"); // MIBenum: ???? aliasTable.put("ibm1123", "Cp1123"); aliasTable.put("ibm-1123", "Cp1123"); aliasTable.put("cp1123", "Cp1123"); aliasTable.put("1123", "Cp1123"); // MIBenum: ???? aliasTable.put("ibm1124", "Cp1124"); aliasTable.put("ibm-1124", "Cp1124"); aliasTable.put("cp1124", "Cp1124"); aliasTable.put("1124", "Cp1124"); // MIBenum: ???? aliasTable.put("ibm1381", "Cp1381"); /* MDA */ aliasTable.put("ibm-1381", "Cp1381"); /* MDA */ aliasTable.put("cp1381", "Cp1381"); /* MDA */ aliasTable.put("1381", "Cp1381"); /* MDA */ // MIBenum: ???? aliasTable.put("ibm1383", "Cp1383"); /* MDA */ aliasTable.put("ibm-1383", "Cp1383"); /* MDA */ aliasTable.put("cp1383", "Cp1383"); /* MDA */ aliasTable.put("1383", "Cp1383"); /* MDA */ // Specialized auto-detection for Japanese charsets aliasTable.put("jis auto detect", "JISAutoDetect"); // MIBenum: 16/39 aliasTable.put("jis", "ISO2022JP"); aliasTable.put("iso-2022-jp", "ISO2022JP"); aliasTable.put("csiso2022jp", "ISO2022JP"); aliasTable.put("jis_encoding", "ISO2022JP"); aliasTable.put("csjisencoding", "ISO2022JP"); // MIBenum: 17/2024 aliasTable.put("windows-31j", "MS932"); aliasTable.put("cswindows31j", "MS932"); // JIS-defined Shift JIS aliasTable.put("\u30b7\u30d5\u30c8\u7b26\u53f7\u5316\u8868\u73fe", "SJIS"); // JIS name aliasTable.put("pck", "PCK"); // Case independent PCK alias if (sjisIsMS932) { aliasTable.put("shift_jis", "MS932"); // IANA shift jis aliases aliasTable.put("csshiftjis", "MS932"); // updated per 4556882 aliasTable.put("x-sjis", "MS932"); aliasTable.put("ms_kanji", "MS932"); } else { aliasTable.put("shift_jis", "SJIS"); // IANA shift jis aliases aliasTable.put("csshiftjis", "SJIS"); aliasTable.put("x-sjis", "SJIS"); aliasTable.put("ms_kanji", "SJIS"); } // MIBenum: 18 // Japanese EUC aliasTable.put("eucjis", "EUC_JP"); aliasTable.put("euc-jp", "EUC_JP"); aliasTable.put("eucjp", "EUC_JP"); aliasTable.put("extended_unix_code_packed_format_for_japanese", "EUC_JP"); aliasTable.put("cseucpkdfmtjapanese", "EUC_JP"); aliasTable.put("x-euc-jp", "EUC_JP"); aliasTable.put("x-eucjp", "EUC_JP"); aliasTable.put("eucjp-open", "EUC_JP_Solaris"); // 1.3.1_x compatibility // For handing only JIS0202 and JIS0208 in linux aliasTable.put("euc-jp-linux", "EUC_JP_LINUX"); // MIBenum: 874 aliasTable.put("windows-874", "MS874"); // MIBenum: 2250 aliasTable.put("windows-1250", "Cp1250"); // MIBenum: 2251 aliasTable.put("windows-1251", "Cp1251"); aliasTable.put("ansi-1251", "Cp1251"); // Solaris ru_RU.ANSI1251 locale // MIBenum: 2252 aliasTable.put("windows-1252", "Cp1252"); // MIBenum: 2253 aliasTable.put("windows-1253", "Cp1253"); // MIBenum: 2254 aliasTable.put("windows-1254", "Cp1254"); // MIBenum: 2255 aliasTable.put("windows-1255", "Cp1255"); // MIBenum: 2256 aliasTable.put("windows-1256", "Cp1256"); // MIBenum: 2257 aliasTable.put("windows-1257", "Cp1257"); // MIBenum: 2258 aliasTable.put("windows-1258", "Cp1258"); // MIBenum: ???? aliasTable.put("ibm33722", "Cp33722"); /* MDA */ aliasTable.put("ibm-33722", "Cp33722"); /* MDA */ aliasTable.put("cp33722", "Cp33722"); /* MDA */ aliasTable.put("33722", "Cp33722"); /* MDA */ // Russian KOI8-R aliasTable.put("koi8-r", "KOI8_R"); aliasTable.put("koi8", "KOI8_R"); aliasTable.put("cskoi8r", "KOI8_R"); // Simplified Chinese aliasTable.put("gb2312", "EUC_CN"); aliasTable.put("gb2312-80", "EUC_CN"); aliasTable.put("gb2312-1980", "EUC_CN"); aliasTable.put("euc-cn", "EUC_CN"); aliasTable.put("euccn", "EUC_CN"); aliasTable.put("big5", "Big5"); aliasTable.put("big5hk", "Big5_HKSCS"); aliasTable.put("big5-hkscs", "Big5_HKSCS"); // Added for future compatibility, explicit mapping to Unicode 3.0 aliasTable.put("big5-hkscs:unicode3.0", "Big5_HKSCS"); aliasTable.put("big5_solaris", "Big5_Solaris"); // Traditional Chinese aliasTable.put("cns11643", "EUC_TW"); aliasTable.put("euc-tw", "EUC_TW"); aliasTable.put("euctw", "EUC_TW"); // Korean aliasTable.put("ksc5601", "EUC_KR"); aliasTable.put("euc-kr", "EUC_KR"); aliasTable.put("euckr", "EUC_KR"); aliasTable.put("ks_c_5601-1987", "EUC_KR"); aliasTable.put("ksc5601-1987", "EUC_KR"); aliasTable.put("ksc5601_1987", "EUC_KR"); aliasTable.put("ksc_5601", "EUC_KR"); aliasTable.put("5601", "EUC_KR"); aliasTable.put("ksc5601-1992", "Johab"); aliasTable.put("ksc5601_1992", "Johab"); aliasTable.put("ms1361", "Johab"); aliasTable.put("windows-949", "MS949"); //MIBenum: 37 aliasTable.put("iso-2022-kr", "ISO2022KR"); aliasTable.put("csiso2022kr", "ISO2022KR"); // Thai aliasTable.put("tis620.2533", "TIS620"); aliasTable.put("tis-620", "TIS620"); // Linux name // X11 Compound Text aliasTable.put("x-compound-text", "COMPOUND_TEXT"); aliasTable.put("x11-compound_text", "COMPOUND_TEXT"); // Variants aliasTable.put("cp942c", "Cp942C"); aliasTable.put("cp943c", "Cp943C"); aliasTable.put("cp949c", "Cp949C"); aliasTable.put("iscii", "ISCII91"); installedAll = true; } }
For Solaris: always returns "PCK" For other platforms: method returns "MS932" if the file.encoding property value is "MS932" or an alias of "MS932" otherwise, "SJIS", regardless of its actual file.encoding value. This method is called from the JIS Auto Detect converter.
/** * For Solaris: * always returns "PCK" * * For other platforms: * method returns "MS932" if the file.encoding property value is "MS932" * or an alias of "MS932" * otherwise, "SJIS", regardless of its * actual file.encoding value. This method is called from the JIS * Auto Detect converter. */
static String getSJISName() { String encodeName = (String) AccessController.doPrivileged( new PrivilegedAction() { public Object run() { String osName = System.getProperty("os.name"); if (osName.equals("Solaris") || osName.equals("SunOS")){ return "PCK"; } else { return System.getProperty("file.encoding", null); } } }); if (encodeName != null) { if (encodeName.equals("MS932")) return encodeName; encodeName = aliasName(encodeName); } return (encodeName != null && encodeName.equals("MS932")) ? encodeName : "SJIS"; } static String getEUCJPName() { String encodeName = (String) AccessController.doPrivileged( new PrivilegedAction() { public Object run() { String osName = System.getProperty("os.name"); if (osName.equals("Solaris") || osName.equals("SunOS")) return "eucJP-open"; else return "EUC_JP"; } }); return encodeName; } }