| /* |
| * 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; |
| } |
| } |