/* * 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 java.io; import java.nio.charset.Charset; import java.util.HashMap; /** * This could have been in Charset or Charsets, but all code uses those classes whereas no code * should need to use this, so let's not make good code pay to initialize this map. */ class HistoricalCharsetNames { private static final HashMap<String, String> historicalNames = new HashMap<String, String>(); static { historicalNames.put("Big5-HKSCS", "Big5_HKSCS"); historicalNames.put("EUC-JP", "EUC_JP"); historicalNames.put("EUC-KR", "EUC_KR"); historicalNames.put("GB2312", "EUC_CN"); historicalNames.put("IBM-Thai", "Cp838"); historicalNames.put("IBM00858", "Cp858"); historicalNames.put("IBM01140", "Cp1140"); historicalNames.put("IBM01141", "Cp1141"); historicalNames.put("IBM01142", "Cp1142"); historicalNames.put("IBM01143", "Cp1143"); historicalNames.put("IBM01144", "Cp1144"); historicalNames.put("IBM01145", "Cp1145"); historicalNames.put("IBM01146", "Cp1146"); historicalNames.put("IBM01147", "Cp1147"); historicalNames.put("IBM01148", "Cp1148"); historicalNames.put("IBM01149", "Cp1149"); historicalNames.put("IBM037", "Cp037"); historicalNames.put("IBM1026", "Cp1026"); historicalNames.put("IBM1047", "Cp1047"); historicalNames.put("IBM273", "Cp273"); historicalNames.put("IBM277", "Cp277"); historicalNames.put("IBM278", "Cp278"); historicalNames.put("IBM280", "Cp280"); historicalNames.put("IBM284", "Cp284"); historicalNames.put("IBM285", "Cp285"); historicalNames.put("IBM297", "Cp297"); historicalNames.put("IBM420", "Cp420"); historicalNames.put("IBM424", "Cp424"); historicalNames.put("IBM437", "Cp437"); historicalNames.put("IBM500", "Cp500"); historicalNames.put("IBM775", "Cp775"); historicalNames.put("IBM850", "Cp850"); historicalNames.put("IBM852", "Cp852"); historicalNames.put("IBM855", "Cp855"); historicalNames.put("IBM857", "Cp857"); historicalNames.put("IBM860", "Cp860"); historicalNames.put("IBM861", "Cp861"); historicalNames.put("IBM862", "Cp862"); historicalNames.put("IBM863", "Cp863"); historicalNames.put("IBM864", "Cp864"); historicalNames.put("IBM865", "Cp865"); historicalNames.put("IBM866", "Cp866"); historicalNames.put("IBM868", "Cp868"); historicalNames.put("IBM869", "Cp869"); historicalNames.put("IBM870", "Cp870"); historicalNames.put("IBM871", "Cp871"); historicalNames.put("IBM918", "Cp918"); historicalNames.put("ISO-2022-CN", "ISO2022CN"); historicalNames.put("ISO-2022-JP", "ISO2022JP"); historicalNames.put("ISO-2022-KR", "ISO2022KR"); historicalNames.put("ISO-8859-1", "ISO8859_1"); historicalNames.put("ISO-8859-13", "ISO8859_13"); historicalNames.put("ISO-8859-15", "ISO8859_15"); historicalNames.put("ISO-8859-2", "ISO8859_2"); historicalNames.put("ISO-8859-3", "ISO8859_3"); historicalNames.put("ISO-8859-4", "ISO8859_4"); historicalNames.put("ISO-8859-5", "ISO8859_5"); historicalNames.put("ISO-8859-6", "ISO8859_6"); historicalNames.put("ISO-8859-7", "ISO8859_7"); historicalNames.put("ISO-8859-8", "ISO8859_8"); historicalNames.put("ISO-8859-9", "ISO8859_9"); historicalNames.put("KOI8-R", "KOI8_R"); historicalNames.put("Shift_JIS", "SJIS"); historicalNames.put("TIS-620", "TIS620"); historicalNames.put("US-ASCII", "ASCII"); historicalNames.put("UTF-16BE", "UnicodeBigUnmarked"); historicalNames.put("UTF-16LE", "UnicodeLittleUnmarked"); historicalNames.put("UTF-8", "UTF8"); historicalNames.put("windows-1250", "Cp1250"); historicalNames.put("windows-1251", "Cp1251"); historicalNames.put("windows-1252", "Cp1252"); historicalNames.put("windows-1253", "Cp1253"); historicalNames.put("windows-1254", "Cp1254"); historicalNames.put("windows-1255", "Cp1255"); historicalNames.put("windows-1256", "Cp1256"); historicalNames.put("windows-1257", "Cp1257"); historicalNames.put("windows-1258", "Cp1258"); historicalNames.put("windows-31j", "MS932"); historicalNames.put("x-Big5-Solaris", "Big5_Solaris"); historicalNames.put("x-euc-jp-linux", "EUC_JP_LINUX"); historicalNames.put("x-EUC-TW", "EUC_TW"); historicalNames.put("x-eucJP-Open", "EUC_JP_Solaris"); historicalNames.put("x-IBM1006", "Cp1006"); historicalNames.put("x-IBM1025", "Cp1025"); historicalNames.put("x-IBM1046", "Cp1046"); historicalNames.put("x-IBM1097", "Cp1097"); historicalNames.put("x-IBM1098", "Cp1098"); historicalNames.put("x-IBM1112", "Cp1112"); historicalNames.put("x-IBM1122", "Cp1122"); historicalNames.put("x-IBM1123", "Cp1123"); historicalNames.put("x-IBM1124", "Cp1124"); historicalNames.put("x-IBM1381", "Cp1381"); historicalNames.put("x-IBM1383", "Cp1383"); historicalNames.put("x-IBM33722", "Cp33722"); historicalNames.put("x-IBM737", "Cp737"); historicalNames.put("x-IBM856", "Cp856"); historicalNames.put("x-IBM874", "Cp874"); historicalNames.put("x-IBM875", "Cp875"); historicalNames.put("x-IBM921", "Cp921"); historicalNames.put("x-IBM922", "Cp922"); historicalNames.put("x-IBM930", "Cp930"); historicalNames.put("x-IBM933", "Cp933"); historicalNames.put("x-IBM935", "Cp935"); historicalNames.put("x-IBM937", "Cp937"); historicalNames.put("x-IBM939", "Cp939"); historicalNames.put("x-IBM942", "Cp942"); historicalNames.put("x-IBM942C", "Cp942C"); historicalNames.put("x-IBM943", "Cp943"); historicalNames.put("x-IBM943C", "Cp943C"); historicalNames.put("x-IBM948", "Cp948"); historicalNames.put("x-IBM949", "Cp949"); historicalNames.put("x-IBM949C", "Cp949C"); historicalNames.put("x-IBM950", "Cp950"); historicalNames.put("x-IBM964", "Cp964"); historicalNames.put("x-IBM970", "Cp970"); historicalNames.put("x-ISCII91", "ISCII91"); historicalNames.put("x-ISO-2022-CN-CNS", "ISO2022CN"); historicalNames.put("x-ISO-2022-CN-GB", "ISO2022CN"); historicalNames.put("x-JISAutoDetect", "JISAutoDetect"); historicalNames.put("x-MacArabic", "MacArabic"); historicalNames.put("x-MacCentralEurope", "MacCentralEurope"); historicalNames.put("x-MacCroatian", "MacCroatian"); historicalNames.put("x-MacCyrillic", "MacCyrillic"); historicalNames.put("x-MacDingbat", "MacDingbat"); historicalNames.put("x-MacGreek", "MacGreek"); historicalNames.put("x-MacHebrew", "MacHebrew"); historicalNames.put("x-MacIceland", "MacIceland"); historicalNames.put("x-MacRoman", "MacRoman"); historicalNames.put("x-MacRomania", "MacRomania"); historicalNames.put("x-MacSymbol", "MacSymbol"); historicalNames.put("x-MacThai", "MacThai"); historicalNames.put("x-MacTurkish", "MacTurkish"); historicalNames.put("x-MacUkraine", "MacUkraine"); historicalNames.put("x-MS950-HKSCS", "MS950_HKSCS"); historicalNames.put("x-mswin-936", "MS936"); historicalNames.put("x-PCK", "PCK"); historicalNames.put("x-windows-874", "MS874"); historicalNames.put("x-windows-949", "MS949"); historicalNames.put("x-windows-950", "MS950"); } public static String get(Charset charset) { String modernName = charset.name(); String result = historicalNames.get(modernName); return (result != null) ? result : modernName; } }