0001: /*
0002: * Licensed to the Apache Software Foundation (ASF) under one or more
0003: * contributor license agreements. See the NOTICE file distributed with
0004: * this work for additional information regarding copyright ownership.
0005: * The ASF licenses this file to You under the Apache License, Version 2.0
0006: * (the "License"); you may not use this file except in compliance with
0007: * the License. You may obtain a copy of the License at
0008: *
0009: * http://www.apache.org/licenses/LICENSE-2.0
0010: *
0011: * Unless required by applicable law or agreed to in writing, software
0012: * distributed under the License is distributed on an "AS IS" BASIS,
0013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0014: * See the License for the specific language governing permissions and
0015: * limitations under the License.
0016: */
0017:
0018: package org.apache.xerces.util;
0019:
0020: import java.util.Hashtable;
0021:
0022: /**
0023: * EncodingMap is a convenience class which handles conversions between
0024: * IANA encoding names and Java encoding names, and vice versa. The
0025: * encoding names used in XML instance documents <strong>must</strong>
0026: * be the IANA encoding names specified or one of the aliases for those names
0027: * which IANA defines.
0028: * <p>
0029: * <TABLE BORDER="0" WIDTH="100%">
0030: * <TR>
0031: * <TD WIDTH="33%">
0032: * <P ALIGN="CENTER"><B>Common Name</B>
0033: * </TD>
0034: * <TD WIDTH="15%">
0035: * <P ALIGN="CENTER"><B>Use this name in XML files</B>
0036: * </TD>
0037: * <TD WIDTH="12%">
0038: * <P ALIGN="CENTER"><B>Name Type</B>
0039: * </TD>
0040: * <TD WIDTH="31%">
0041: * <P ALIGN="CENTER"><B>Xerces converts to this Java Encoder Name</B>
0042: * </TD>
0043: * </TR>
0044: * <TR>
0045: * <TD WIDTH="33%">8 bit Unicode</TD>
0046: * <TD WIDTH="15%">
0047: * <P ALIGN="CENTER">UTF-8
0048: * </TD>
0049: * <TD WIDTH="12%">
0050: * <P ALIGN="CENTER">IANA
0051: * </TD>
0052: * <TD WIDTH="31%">
0053: * <P ALIGN="CENTER">UTF8
0054: * </TD>
0055: * </TR>
0056: * <TR>
0057: * <TD WIDTH="33%">ISO Latin 1</TD>
0058: * <TD WIDTH="15%">
0059: * <P ALIGN="CENTER">ISO-8859-1
0060: * </TD>
0061: * <TD WIDTH="12%">
0062: * <P ALIGN="CENTER">MIME
0063: * </TD>
0064: * <TD WIDTH="31%">
0065: * <P ALIGN="CENTER">ISO-8859-1
0066: * </TD>
0067: * </TR>
0068: * <TR>
0069: * <TD WIDTH="33%">ISO Latin 2</TD>
0070: * <TD WIDTH="15%">
0071: * <P ALIGN="CENTER">ISO-8859-2
0072: * </TD>
0073: * <TD WIDTH="12%">
0074: * <P ALIGN="CENTER">MIME
0075: * </TD>
0076: * <TD WIDTH="31%">
0077: * <P ALIGN="CENTER">ISO-8859-2
0078: * </TD>
0079: * </TR>
0080: * <TR>
0081: * <TD WIDTH="33%">ISO Latin 3</TD>
0082: * <TD WIDTH="15%">
0083: * <P ALIGN="CENTER">ISO-8859-3
0084: * </TD>
0085: * <TD WIDTH="12%">
0086: * <P ALIGN="CENTER">MIME
0087: * </TD>
0088: * <TD WIDTH="31%">
0089: * <P ALIGN="CENTER">ISO-8859-3
0090: * </TD>
0091: * </TR>
0092: * <TR>
0093: * <TD WIDTH="33%">ISO Latin 4</TD>
0094: * <TD WIDTH="15%">
0095: * <P ALIGN="CENTER">ISO-8859-4
0096: * </TD>
0097: * <TD WIDTH="12%">
0098: * <P ALIGN="CENTER">MIME
0099: * </TD>
0100: * <TD WIDTH="31%">
0101: * <P ALIGN="CENTER">ISO-8859-4
0102: * </TD>
0103: * </TR>
0104: * <TR>
0105: * <TD WIDTH="33%">ISO Latin Cyrillic</TD>
0106: * <TD WIDTH="15%">
0107: * <P ALIGN="CENTER">ISO-8859-5
0108: * </TD>
0109: * <TD WIDTH="12%">
0110: * <P ALIGN="CENTER">MIME
0111: * </TD>
0112: * <TD WIDTH="31%">
0113: * <P ALIGN="CENTER">ISO-8859-5
0114: * </TD>
0115: * </TR>
0116: * <TR>
0117: * <TD WIDTH="33%">ISO Latin Arabic</TD>
0118: * <TD WIDTH="15%">
0119: * <P ALIGN="CENTER">ISO-8859-6
0120: * </TD>
0121: * <TD WIDTH="12%">
0122: * <P ALIGN="CENTER">MIME
0123: * </TD>
0124: * <TD WIDTH="31%">
0125: * <P ALIGN="CENTER">ISO-8859-6
0126: * </TD>
0127: * </TR>
0128: * <TR>
0129: * <TD WIDTH="33%">ISO Latin Greek</TD>
0130: * <TD WIDTH="15%">
0131: * <P ALIGN="CENTER">ISO-8859-7
0132: * </TD>
0133: * <TD WIDTH="12%">
0134: * <P ALIGN="CENTER">MIME
0135: * </TD>
0136: * <TD WIDTH="31%">
0137: * <P ALIGN="CENTER">ISO-8859-7
0138: * </TD>
0139: * </TR>
0140: * <TR>
0141: * <TD WIDTH="33%">ISO Latin Hebrew</TD>
0142: * <TD WIDTH="15%">
0143: * <P ALIGN="CENTER">ISO-8859-8
0144: * </TD>
0145: * <TD WIDTH="12%">
0146: * <P ALIGN="CENTER">MIME
0147: * </TD>
0148: * <TD WIDTH="31%">
0149: * <P ALIGN="CENTER">ISO-8859-8
0150: * </TD>
0151: * </TR>
0152: * <TR>
0153: * <TD WIDTH="33%">ISO Latin 5</TD>
0154: * <TD WIDTH="15%">
0155: * <P ALIGN="CENTER">ISO-8859-9
0156: * </TD>
0157: * <TD WIDTH="12%">
0158: * <P ALIGN="CENTER">MIME
0159: * </TD>
0160: * <TD WIDTH="31%">
0161: * <P ALIGN="CENTER">ISO-8859-9
0162: * </TD>
0163: * </TR>
0164: * <TR>
0165: * <TD WIDTH="33%">EBCDIC: US</TD>
0166: * <TD WIDTH="15%">
0167: * <P ALIGN="CENTER">ebcdic-cp-us
0168: * </TD>
0169: * <TD WIDTH="12%">
0170: * <P ALIGN="CENTER">IANA
0171: * </TD>
0172: * <TD WIDTH="31%">
0173: * <P ALIGN="CENTER">cp037
0174: * </TD>
0175: * </TR>
0176: * <TR>
0177: * <TD WIDTH="33%">EBCDIC: Canada</TD>
0178: * <TD WIDTH="15%">
0179: * <P ALIGN="CENTER">ebcdic-cp-ca
0180: * </TD>
0181: * <TD WIDTH="12%">
0182: * <P ALIGN="CENTER">IANA
0183: * </TD>
0184: * <TD WIDTH="31%">
0185: * <P ALIGN="CENTER">cp037
0186: * </TD>
0187: * </TR>
0188: * <TR>
0189: * <TD WIDTH="33%">EBCDIC: Netherlands</TD>
0190: * <TD WIDTH="15%">
0191: * <P ALIGN="CENTER">ebcdic-cp-nl
0192: * </TD>
0193: * <TD WIDTH="12%">
0194: * <P ALIGN="CENTER">IANA
0195: * </TD>
0196: * <TD WIDTH="31%">
0197: * <P ALIGN="CENTER">cp037
0198: * </TD>
0199: * </TR>
0200: * <TR>
0201: * <TD WIDTH="33%">EBCDIC: Denmark</TD>
0202: * <TD WIDTH="15%">
0203: * <P ALIGN="CENTER">ebcdic-cp-dk
0204: * </TD>
0205: * <TD WIDTH="12%">
0206: * <P ALIGN="CENTER">IANA
0207: * </TD>
0208: * <TD WIDTH="31%">
0209: * <P ALIGN="CENTER">cp277
0210: * </TD>
0211: * </TR>
0212: * <TR>
0213: * <TD WIDTH="33%">EBCDIC: Norway</TD>
0214: * <TD WIDTH="15%">
0215: * <P ALIGN="CENTER">ebcdic-cp-no
0216: * </TD>
0217: * <TD WIDTH="12%">
0218: * <P ALIGN="CENTER">IANA
0219: * </TD>
0220: * <TD WIDTH="31%">
0221: * <P ALIGN="CENTER">cp277
0222: * </TD>
0223: * </TR>
0224: * <TR>
0225: * <TD WIDTH="33%">EBCDIC: Finland</TD>
0226: * <TD WIDTH="15%">
0227: * <P ALIGN="CENTER">ebcdic-cp-fi
0228: * </TD>
0229: * <TD WIDTH="12%">
0230: * <P ALIGN="CENTER">IANA
0231: * </TD>
0232: * <TD WIDTH="31%">
0233: * <P ALIGN="CENTER">cp278
0234: * </TD>
0235: * </TR>
0236: * <TR>
0237: * <TD WIDTH="33%">EBCDIC: Sweden</TD>
0238: * <TD WIDTH="15%">
0239: * <P ALIGN="CENTER">ebcdic-cp-se
0240: * </TD>
0241: * <TD WIDTH="12%">
0242: * <P ALIGN="CENTER">IANA
0243: * </TD>
0244: * <TD WIDTH="31%">
0245: * <P ALIGN="CENTER">cp278
0246: * </TD>
0247: * </TR>
0248: * <TR>
0249: * <TD WIDTH="33%">EBCDIC: Italy</TD>
0250: * <TD WIDTH="15%">
0251: * <P ALIGN="CENTER">ebcdic-cp-it
0252: * </TD>
0253: * <TD WIDTH="12%">
0254: * <P ALIGN="CENTER">IANA
0255: * </TD>
0256: * <TD WIDTH="31%">
0257: * <P ALIGN="CENTER">cp280
0258: * </TD>
0259: * </TR>
0260: * <TR>
0261: * <TD WIDTH="33%">EBCDIC: Spain, Latin America</TD>
0262: * <TD WIDTH="15%">
0263: * <P ALIGN="CENTER">ebcdic-cp-es
0264: * </TD>
0265: * <TD WIDTH="12%">
0266: * <P ALIGN="CENTER">IANA
0267: * </TD>
0268: * <TD WIDTH="31%">
0269: * <P ALIGN="CENTER">cp284
0270: * </TD>
0271: * </TR>
0272: * <TR>
0273: * <TD WIDTH="33%">EBCDIC: Great Britain</TD>
0274: * <TD WIDTH="15%">
0275: * <P ALIGN="CENTER">ebcdic-cp-gb
0276: * </TD>
0277: * <TD WIDTH="12%">
0278: * <P ALIGN="CENTER">IANA
0279: * </TD>
0280: * <TD WIDTH="31%">
0281: * <P ALIGN="CENTER">cp285
0282: * </TD>
0283: * </TR>
0284: * <TR>
0285: * <TD WIDTH="33%">EBCDIC: France</TD>
0286: * <TD WIDTH="15%">
0287: * <P ALIGN="CENTER">ebcdic-cp-fr
0288: * </TD>
0289: * <TD WIDTH="12%">
0290: * <P ALIGN="CENTER">IANA
0291: * </TD>
0292: * <TD WIDTH="31%">
0293: * <P ALIGN="CENTER">cp297
0294: * </TD>
0295: * </TR>
0296: * <TR>
0297: * <TD WIDTH="33%">EBCDIC: Arabic</TD>
0298: * <TD WIDTH="15%">
0299: * <P ALIGN="CENTER">ebcdic-cp-ar1
0300: * </TD>
0301: * <TD WIDTH="12%">
0302: * <P ALIGN="CENTER">IANA
0303: * </TD>
0304: * <TD WIDTH="31%">
0305: * <P ALIGN="CENTER">cp420
0306: * </TD>
0307: * </TR>
0308: * <TR>
0309: * <TD WIDTH="33%">EBCDIC: Hebrew</TD>
0310: * <TD WIDTH="15%">
0311: * <P ALIGN="CENTER">ebcdic-cp-he
0312: * </TD>
0313: * <TD WIDTH="12%">
0314: * <P ALIGN="CENTER">IANA
0315: * </TD>
0316: * <TD WIDTH="31%">
0317: * <P ALIGN="CENTER">cp424
0318: * </TD>
0319: * </TR>
0320: * <TR>
0321: * <TD WIDTH="33%">EBCDIC: Switzerland</TD>
0322: * <TD WIDTH="15%">
0323: * <P ALIGN="CENTER">ebcdic-cp-ch
0324: * </TD>
0325: * <TD WIDTH="12%">
0326: * <P ALIGN="CENTER">IANA
0327: * </TD>
0328: * <TD WIDTH="31%">
0329: * <P ALIGN="CENTER">cp500
0330: * </TD>
0331: * </TR>
0332: * <TR>
0333: * <TD WIDTH="33%">EBCDIC: Roece</TD>
0334: * <TD WIDTH="15%">
0335: * <P ALIGN="CENTER">ebcdic-cp-roece
0336: * </TD>
0337: * <TD WIDTH="12%">
0338: * <P ALIGN="CENTER">IANA
0339: * </TD>
0340: * <TD WIDTH="31%">
0341: * <P ALIGN="CENTER">cp870
0342: * </TD>
0343: * </TR>
0344: * <TR>
0345: * <TD WIDTH="33%">EBCDIC: Yugoslavia</TD>
0346: * <TD WIDTH="15%">
0347: * <P ALIGN="CENTER">ebcdic-cp-yu
0348: * </TD>
0349: * <TD WIDTH="12%">
0350: * <P ALIGN="CENTER">IANA
0351: * </TD>
0352: * <TD WIDTH="31%">
0353: * <P ALIGN="CENTER">cp870
0354: * </TD>
0355: * </TR>
0356: * <TR>
0357: * <TD WIDTH="33%">EBCDIC: Iceland</TD>
0358: * <TD WIDTH="15%">
0359: * <P ALIGN="CENTER">ebcdic-cp-is
0360: * </TD>
0361: * <TD WIDTH="12%">
0362: * <P ALIGN="CENTER">IANA
0363: * </TD>
0364: * <TD WIDTH="31%">
0365: * <P ALIGN="CENTER">cp871
0366: * </TD>
0367: * </TR>
0368: * <TR>
0369: * <TD WIDTH="33%">EBCDIC: Urdu</TD>
0370: * <TD WIDTH="15%">
0371: * <P ALIGN="CENTER">ebcdic-cp-ar2
0372: * </TD>
0373: * <TD WIDTH="12%">
0374: * <P ALIGN="CENTER">IANA
0375: * </TD>
0376: * <TD WIDTH="31%">
0377: * <P ALIGN="CENTER">cp918
0378: * </TD>
0379: * </TR>
0380: * <TR>
0381: * <TD WIDTH="33%">Chinese for PRC, mixed 1/2 byte</TD>
0382: * <TD WIDTH="15%">
0383: * <P ALIGN="CENTER">gb2312
0384: * </TD>
0385: * <TD WIDTH="12%">
0386: * <P ALIGN="CENTER">MIME
0387: * </TD>
0388: * <TD WIDTH="31%">
0389: * <P ALIGN="CENTER">GB2312
0390: * </TD>
0391: * </TR>
0392: * <TR>
0393: * <TD WIDTH="33%">Extended Unix Code, packed for Japanese</TD>
0394: * <TD WIDTH="15%">
0395: * <P ALIGN="CENTER">euc-jp
0396: * </TD>
0397: * <TD WIDTH="12%">
0398: * <P ALIGN="CENTER">MIME
0399: * </TD>
0400: * <TD WIDTH="31%">
0401: * <P ALIGN="CENTER">eucjis
0402: * </TD>
0403: * </TR>
0404: * <TR>
0405: * <TD WIDTH="33%">Japanese: iso-2022-jp</TD>
0406: * <TD WIDTH="15%">
0407: * <P ALIGN="CENTER">iso-2020-jp
0408: * </TD>
0409: * <TD WIDTH="12%">
0410: * <P ALIGN="CENTER">MIME
0411: * </TD>
0412: * <TD WIDTH="31%">
0413: * <P ALIGN="CENTER">JIS
0414: * </TD>
0415: * </TR>
0416: * <TR>
0417: * <TD WIDTH="33%">Japanese: Shift JIS</TD>
0418: * <TD WIDTH="15%">
0419: * <P ALIGN="CENTER">Shift_JIS
0420: * </TD>
0421: * <TD WIDTH="12%">
0422: * <P ALIGN="CENTER">MIME
0423: * </TD>
0424: * <TD WIDTH="31%">
0425: * <P ALIGN="CENTER">SJIS
0426: * </TD>
0427: * </TR>
0428: * <TR>
0429: * <TD WIDTH="33%">Chinese: Big5</TD>
0430: * <TD WIDTH="15%">
0431: * <P ALIGN="CENTER">Big5
0432: * </TD>
0433: * <TD WIDTH="12%">
0434: * <P ALIGN="CENTER">MIME
0435: * </TD>
0436: * <TD WIDTH="31%">
0437: * <P ALIGN="CENTER">Big5
0438: * </TD>
0439: * </TR>
0440: * <TR>
0441: * <TD WIDTH="33%">Extended Unix Code, packed for Korean</TD>
0442: * <TD WIDTH="15%">
0443: * <P ALIGN="CENTER">euc-kr
0444: * </TD>
0445: * <TD WIDTH="12%">
0446: * <P ALIGN="CENTER">MIME
0447: * </TD>
0448: * <TD WIDTH="31%">
0449: * <P ALIGN="CENTER">iso2022kr
0450: * </TD>
0451: * </TR>
0452: * <TR>
0453: * <TD WIDTH="33%">Cyrillic</TD>
0454: * <TD WIDTH="15%">
0455: * <P ALIGN="CENTER">koi8-r
0456: * </TD>
0457: * <TD WIDTH="12%">
0458: * <P ALIGN="CENTER">MIME
0459: * </TD>
0460: * <TD WIDTH="31%">
0461: * <P ALIGN="CENTER">koi8-r
0462: * </TD>
0463: * </TR>
0464: * </TABLE>
0465: *
0466: * @author TAMURA Kent, IBM
0467: * @author Andy Clark, IBM
0468: *
0469: * @version $Id: EncodingMap.java 447241 2006-09-18 05:12:57Z mrglavas $
0470: */
0471: public class EncodingMap {
0472:
0473: //
0474: // Data
0475: //
0476:
0477: /** fIANA2JavaMap */
0478: protected final static Hashtable fIANA2JavaMap = new Hashtable();
0479:
0480: /** fJava2IANAMap */
0481: protected final static Hashtable fJava2IANAMap = new Hashtable();
0482:
0483: //
0484: // Static initialization
0485: //
0486:
0487: static {
0488:
0489: // add IANA to Java encoding mappings.
0490: fIANA2JavaMap.put("BIG5", "Big5");
0491: fIANA2JavaMap.put("CSBIG5", "Big5");
0492: fIANA2JavaMap.put("CP037", "CP037");
0493: fIANA2JavaMap.put("IBM037", "CP037");
0494: fIANA2JavaMap.put("CSIBM037", "CP037");
0495: fIANA2JavaMap.put("EBCDIC-CP-US", "CP037");
0496: fIANA2JavaMap.put("EBCDIC-CP-CA", "CP037");
0497: fIANA2JavaMap.put("EBCDIC-CP-NL", "CP037");
0498: fIANA2JavaMap.put("EBCDIC-CP-WT", "CP037");
0499: fIANA2JavaMap.put("IBM273", "CP273");
0500: fIANA2JavaMap.put("CP273", "CP273");
0501: fIANA2JavaMap.put("CSIBM273", "CP273");
0502: fIANA2JavaMap.put("IBM277", "CP277");
0503: fIANA2JavaMap.put("CP277", "CP277");
0504: fIANA2JavaMap.put("CSIBM277", "CP277");
0505: fIANA2JavaMap.put("EBCDIC-CP-DK", "CP277");
0506: fIANA2JavaMap.put("EBCDIC-CP-NO", "CP277");
0507: fIANA2JavaMap.put("IBM278", "CP278");
0508: fIANA2JavaMap.put("CP278", "CP278");
0509: fIANA2JavaMap.put("CSIBM278", "CP278");
0510: fIANA2JavaMap.put("EBCDIC-CP-FI", "CP278");
0511: fIANA2JavaMap.put("EBCDIC-CP-SE", "CP278");
0512: fIANA2JavaMap.put("IBM280", "CP280");
0513: fIANA2JavaMap.put("CP280", "CP280");
0514: fIANA2JavaMap.put("CSIBM280", "CP280");
0515: fIANA2JavaMap.put("EBCDIC-CP-IT", "CP280");
0516: fIANA2JavaMap.put("IBM284", "CP284");
0517: fIANA2JavaMap.put("CP284", "CP284");
0518: fIANA2JavaMap.put("CSIBM284", "CP284");
0519: fIANA2JavaMap.put("EBCDIC-CP-ES", "CP284");
0520: fIANA2JavaMap.put("EBCDIC-CP-GB", "CP285");
0521: fIANA2JavaMap.put("IBM285", "CP285");
0522: fIANA2JavaMap.put("CP285", "CP285");
0523: fIANA2JavaMap.put("CSIBM285", "CP285");
0524: fIANA2JavaMap.put("EBCDIC-JP-KANA", "CP290");
0525: fIANA2JavaMap.put("IBM290", "CP290");
0526: fIANA2JavaMap.put("CP290", "CP290");
0527: fIANA2JavaMap.put("CSIBM290", "CP290");
0528: fIANA2JavaMap.put("EBCDIC-CP-FR", "CP297");
0529: fIANA2JavaMap.put("IBM297", "CP297");
0530: fIANA2JavaMap.put("CP297", "CP297");
0531: fIANA2JavaMap.put("CSIBM297", "CP297");
0532: fIANA2JavaMap.put("EBCDIC-CP-AR1", "CP420");
0533: fIANA2JavaMap.put("IBM420", "CP420");
0534: fIANA2JavaMap.put("CP420", "CP420");
0535: fIANA2JavaMap.put("CSIBM420", "CP420");
0536: fIANA2JavaMap.put("EBCDIC-CP-HE", "CP424");
0537: fIANA2JavaMap.put("IBM424", "CP424");
0538: fIANA2JavaMap.put("CP424", "CP424");
0539: fIANA2JavaMap.put("CSIBM424", "CP424");
0540: fIANA2JavaMap.put("IBM437", "CP437");
0541: fIANA2JavaMap.put("437", "CP437");
0542: fIANA2JavaMap.put("CP437", "CP437");
0543: fIANA2JavaMap.put("CSPC8CODEPAGE437", "CP437");
0544: fIANA2JavaMap.put("EBCDIC-CP-CH", "CP500");
0545: fIANA2JavaMap.put("IBM500", "CP500");
0546: fIANA2JavaMap.put("CP500", "CP500");
0547: fIANA2JavaMap.put("CSIBM500", "CP500");
0548: fIANA2JavaMap.put("EBCDIC-CP-CH", "CP500");
0549: fIANA2JavaMap.put("EBCDIC-CP-BE", "CP500");
0550: fIANA2JavaMap.put("IBM775", "CP775");
0551: fIANA2JavaMap.put("CP775", "CP775");
0552: fIANA2JavaMap.put("CSPC775BALTIC", "CP775");
0553: fIANA2JavaMap.put("IBM850", "CP850");
0554: fIANA2JavaMap.put("850", "CP850");
0555: fIANA2JavaMap.put("CP850", "CP850");
0556: fIANA2JavaMap.put("CSPC850MULTILINGUAL", "CP850");
0557: fIANA2JavaMap.put("IBM852", "CP852");
0558: fIANA2JavaMap.put("852", "CP852");
0559: fIANA2JavaMap.put("CP852", "CP852");
0560: fIANA2JavaMap.put("CSPCP852", "CP852");
0561: fIANA2JavaMap.put("IBM855", "CP855");
0562: fIANA2JavaMap.put("855", "CP855");
0563: fIANA2JavaMap.put("CP855", "CP855");
0564: fIANA2JavaMap.put("CSIBM855", "CP855");
0565: fIANA2JavaMap.put("IBM857", "CP857");
0566: fIANA2JavaMap.put("857", "CP857");
0567: fIANA2JavaMap.put("CP857", "CP857");
0568: fIANA2JavaMap.put("CSIBM857", "CP857");
0569: fIANA2JavaMap.put("IBM00858", "CP858");
0570: fIANA2JavaMap.put("CP00858", "CP858");
0571: fIANA2JavaMap.put("CCSID00858", "CP858");
0572: fIANA2JavaMap.put("IBM860", "CP860");
0573: fIANA2JavaMap.put("860", "CP860");
0574: fIANA2JavaMap.put("CP860", "CP860");
0575: fIANA2JavaMap.put("CSIBM860", "CP860");
0576: fIANA2JavaMap.put("IBM861", "CP861");
0577: fIANA2JavaMap.put("861", "CP861");
0578: fIANA2JavaMap.put("CP861", "CP861");
0579: fIANA2JavaMap.put("CP-IS", "CP861");
0580: fIANA2JavaMap.put("CSIBM861", "CP861");
0581: fIANA2JavaMap.put("IBM862", "CP862");
0582: fIANA2JavaMap.put("862", "CP862");
0583: fIANA2JavaMap.put("CP862", "CP862");
0584: fIANA2JavaMap.put("CSPC862LATINHEBREW", "CP862");
0585: fIANA2JavaMap.put("IBM863", "CP863");
0586: fIANA2JavaMap.put("863", "CP863");
0587: fIANA2JavaMap.put("CP863", "CP863");
0588: fIANA2JavaMap.put("CSIBM863", "CP863");
0589: fIANA2JavaMap.put("IBM864", "CP864");
0590: fIANA2JavaMap.put("CP864", "CP864");
0591: fIANA2JavaMap.put("CSIBM864", "CP864");
0592: fIANA2JavaMap.put("IBM865", "CP865");
0593: fIANA2JavaMap.put("865", "CP865");
0594: fIANA2JavaMap.put("CP865", "CP865");
0595: fIANA2JavaMap.put("CSIBM865", "CP865");
0596: fIANA2JavaMap.put("IBM866", "CP866");
0597: fIANA2JavaMap.put("866", "CP866");
0598: fIANA2JavaMap.put("CP866", "CP866");
0599: fIANA2JavaMap.put("CSIBM866", "CP866");
0600: fIANA2JavaMap.put("IBM868", "CP868");
0601: fIANA2JavaMap.put("CP868", "CP868");
0602: fIANA2JavaMap.put("CSIBM868", "CP868");
0603: fIANA2JavaMap.put("CP-AR", "CP868");
0604: fIANA2JavaMap.put("IBM869", "CP869");
0605: fIANA2JavaMap.put("CP869", "CP869");
0606: fIANA2JavaMap.put("CSIBM869", "CP869");
0607: fIANA2JavaMap.put("CP-GR", "CP869");
0608: fIANA2JavaMap.put("IBM870", "CP870");
0609: fIANA2JavaMap.put("CP870", "CP870");
0610: fIANA2JavaMap.put("CSIBM870", "CP870");
0611: fIANA2JavaMap.put("EBCDIC-CP-ROECE", "CP870");
0612: fIANA2JavaMap.put("EBCDIC-CP-YU", "CP870");
0613: fIANA2JavaMap.put("IBM871", "CP871");
0614: fIANA2JavaMap.put("CP871", "CP871");
0615: fIANA2JavaMap.put("CSIBM871", "CP871");
0616: fIANA2JavaMap.put("EBCDIC-CP-IS", "CP871");
0617: fIANA2JavaMap.put("IBM918", "CP918");
0618: fIANA2JavaMap.put("CP918", "CP918");
0619: fIANA2JavaMap.put("CSIBM918", "CP918");
0620: fIANA2JavaMap.put("EBCDIC-CP-AR2", "CP918");
0621: fIANA2JavaMap.put("IBM00924", "CP924");
0622: fIANA2JavaMap.put("CP00924", "CP924");
0623: fIANA2JavaMap.put("CCSID00924", "CP924");
0624: // is this an error???
0625: fIANA2JavaMap.put("EBCDIC-LATIN9--EURO", "CP924");
0626: fIANA2JavaMap.put("IBM1026", "CP1026");
0627: fIANA2JavaMap.put("CP1026", "CP1026");
0628: fIANA2JavaMap.put("CSIBM1026", "CP1026");
0629: fIANA2JavaMap.put("IBM01140", "Cp1140");
0630: fIANA2JavaMap.put("CP01140", "Cp1140");
0631: fIANA2JavaMap.put("CCSID01140", "Cp1140");
0632: fIANA2JavaMap.put("IBM01141", "Cp1141");
0633: fIANA2JavaMap.put("CP01141", "Cp1141");
0634: fIANA2JavaMap.put("CCSID01141", "Cp1141");
0635: fIANA2JavaMap.put("IBM01142", "Cp1142");
0636: fIANA2JavaMap.put("CP01142", "Cp1142");
0637: fIANA2JavaMap.put("CCSID01142", "Cp1142");
0638: fIANA2JavaMap.put("IBM01143", "Cp1143");
0639: fIANA2JavaMap.put("CP01143", "Cp1143");
0640: fIANA2JavaMap.put("CCSID01143", "Cp1143");
0641: fIANA2JavaMap.put("IBM01144", "Cp1144");
0642: fIANA2JavaMap.put("CP01144", "Cp1144");
0643: fIANA2JavaMap.put("CCSID01144", "Cp1144");
0644: fIANA2JavaMap.put("IBM01145", "Cp1145");
0645: fIANA2JavaMap.put("CP01145", "Cp1145");
0646: fIANA2JavaMap.put("CCSID01145", "Cp1145");
0647: fIANA2JavaMap.put("IBM01146", "Cp1146");
0648: fIANA2JavaMap.put("CP01146", "Cp1146");
0649: fIANA2JavaMap.put("CCSID01146", "Cp1146");
0650: fIANA2JavaMap.put("IBM01147", "Cp1147");
0651: fIANA2JavaMap.put("CP01147", "Cp1147");
0652: fIANA2JavaMap.put("CCSID01147", "Cp1147");
0653: fIANA2JavaMap.put("IBM01148", "Cp1148");
0654: fIANA2JavaMap.put("CP01148", "Cp1148");
0655: fIANA2JavaMap.put("CCSID01148", "Cp1148");
0656: fIANA2JavaMap.put("IBM01149", "Cp1149");
0657: fIANA2JavaMap.put("CP01149", "Cp1149");
0658: fIANA2JavaMap.put("CCSID01149", "Cp1149");
0659: fIANA2JavaMap.put("EUC-JP", "EUCJIS");
0660: fIANA2JavaMap.put("CSEUCPKDFMTJAPANESE", "EUCJIS");
0661: fIANA2JavaMap.put(
0662: "EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE",
0663: "EUCJIS");
0664: fIANA2JavaMap.put("EUC-KR", "KSC5601");
0665: fIANA2JavaMap.put("CSEUCKR", "KSC5601");
0666: fIANA2JavaMap.put("KS_C_5601-1987", "KS_C_5601-1987");
0667: fIANA2JavaMap.put("ISO-IR-149", "KS_C_5601-1987");
0668: fIANA2JavaMap.put("KS_C_5601-1989", "KS_C_5601-1987");
0669: fIANA2JavaMap.put("KSC_5601", "KS_C_5601-1987");
0670: fIANA2JavaMap.put("KOREAN", "KS_C_5601-1987");
0671: fIANA2JavaMap.put("CSKSC56011987", "KS_C_5601-1987");
0672: fIANA2JavaMap.put("GB2312", "GB2312");
0673: fIANA2JavaMap.put("CSGB2312", "GB2312");
0674: fIANA2JavaMap.put("ISO-2022-JP", "JIS");
0675: fIANA2JavaMap.put("CSISO2022JP", "JIS");
0676: fIANA2JavaMap.put("ISO-2022-KR", "ISO2022KR");
0677: fIANA2JavaMap.put("CSISO2022KR", "ISO2022KR");
0678: fIANA2JavaMap.put("ISO-2022-CN", "ISO2022CN");
0679:
0680: fIANA2JavaMap.put("X0201", "JIS0201");
0681: fIANA2JavaMap.put("CSISO13JISC6220JP", "JIS0201");
0682: fIANA2JavaMap.put("X0208", "JIS0208");
0683: fIANA2JavaMap.put("ISO-IR-87", "JIS0208");
0684: fIANA2JavaMap.put("X0208dbiJIS_X0208-1983", "JIS0208");
0685: fIANA2JavaMap.put("CSISO87JISX0208", "JIS0208");
0686: fIANA2JavaMap.put("X0212", "JIS0212");
0687: fIANA2JavaMap.put("ISO-IR-159", "JIS0212");
0688: fIANA2JavaMap.put("CSISO159JISX02121990", "JIS0212");
0689: fIANA2JavaMap.put("GB18030", "GB18030");
0690: fIANA2JavaMap.put("GBK", "GBK");
0691: fIANA2JavaMap.put("CP936", "GBK");
0692: fIANA2JavaMap.put("MS936", "GBK");
0693: fIANA2JavaMap.put("WINDOWS-936", "GBK");
0694: fIANA2JavaMap.put("SHIFT_JIS", "SJIS");
0695: fIANA2JavaMap.put("CSSHIFTJIS", "SJIS");
0696: fIANA2JavaMap.put("MS_KANJI", "SJIS");
0697: fIANA2JavaMap.put("WINDOWS-31J", "MS932");
0698: fIANA2JavaMap.put("CSWINDOWS31J", "MS932");
0699:
0700: // Add support for Cp1252 and its friends
0701: fIANA2JavaMap.put("WINDOWS-1250", "Cp1250");
0702: fIANA2JavaMap.put("WINDOWS-1251", "Cp1251");
0703: fIANA2JavaMap.put("WINDOWS-1252", "Cp1252");
0704: fIANA2JavaMap.put("WINDOWS-1253", "Cp1253");
0705: fIANA2JavaMap.put("WINDOWS-1254", "Cp1254");
0706: fIANA2JavaMap.put("WINDOWS-1255", "Cp1255");
0707: fIANA2JavaMap.put("WINDOWS-1256", "Cp1256");
0708: fIANA2JavaMap.put("WINDOWS-1257", "Cp1257");
0709: fIANA2JavaMap.put("WINDOWS-1258", "Cp1258");
0710: fIANA2JavaMap.put("TIS-620", "TIS620");
0711:
0712: fIANA2JavaMap.put("ISO-8859-1", "ISO8859_1");
0713: fIANA2JavaMap.put("ISO-IR-100", "ISO8859_1");
0714: fIANA2JavaMap.put("ISO_8859-1", "ISO8859_1");
0715: fIANA2JavaMap.put("LATIN1", "ISO8859_1");
0716: fIANA2JavaMap.put("CSISOLATIN1", "ISO8859_1");
0717: fIANA2JavaMap.put("L1", "ISO8859_1");
0718: fIANA2JavaMap.put("IBM819", "ISO8859_1");
0719: fIANA2JavaMap.put("CP819", "ISO8859_1");
0720:
0721: fIANA2JavaMap.put("ISO-8859-2", "ISO8859_2");
0722: fIANA2JavaMap.put("ISO-IR-101", "ISO8859_2");
0723: fIANA2JavaMap.put("ISO_8859-2", "ISO8859_2");
0724: fIANA2JavaMap.put("LATIN2", "ISO8859_2");
0725: fIANA2JavaMap.put("CSISOLATIN2", "ISO8859_2");
0726: fIANA2JavaMap.put("L2", "ISO8859_2");
0727:
0728: fIANA2JavaMap.put("ISO-8859-3", "ISO8859_3");
0729: fIANA2JavaMap.put("ISO-IR-109", "ISO8859_3");
0730: fIANA2JavaMap.put("ISO_8859-3", "ISO8859_3");
0731: fIANA2JavaMap.put("LATIN3", "ISO8859_3");
0732: fIANA2JavaMap.put("CSISOLATIN3", "ISO8859_3");
0733: fIANA2JavaMap.put("L3", "ISO8859_3");
0734:
0735: fIANA2JavaMap.put("ISO-8859-4", "ISO8859_4");
0736: fIANA2JavaMap.put("ISO-IR-110", "ISO8859_4");
0737: fIANA2JavaMap.put("ISO_8859-4", "ISO8859_4");
0738: fIANA2JavaMap.put("LATIN4", "ISO8859_4");
0739: fIANA2JavaMap.put("CSISOLATIN4", "ISO8859_4");
0740: fIANA2JavaMap.put("L4", "ISO8859_4");
0741:
0742: fIANA2JavaMap.put("ISO-8859-5", "ISO8859_5");
0743: fIANA2JavaMap.put("ISO-IR-144", "ISO8859_5");
0744: fIANA2JavaMap.put("ISO_8859-5", "ISO8859_5");
0745: fIANA2JavaMap.put("CYRILLIC", "ISO8859_5");
0746: fIANA2JavaMap.put("CSISOLATINCYRILLIC", "ISO8859_5");
0747:
0748: fIANA2JavaMap.put("ISO-8859-6", "ISO8859_6");
0749: fIANA2JavaMap.put("ISO-IR-127", "ISO8859_6");
0750: fIANA2JavaMap.put("ISO_8859-6", "ISO8859_6");
0751: fIANA2JavaMap.put("ECMA-114", "ISO8859_6");
0752: fIANA2JavaMap.put("ASMO-708", "ISO8859_6");
0753: fIANA2JavaMap.put("ARABIC", "ISO8859_6");
0754: fIANA2JavaMap.put("CSISOLATINARABIC", "ISO8859_6");
0755:
0756: fIANA2JavaMap.put("ISO-8859-7", "ISO8859_7");
0757: fIANA2JavaMap.put("ISO-IR-126", "ISO8859_7");
0758: fIANA2JavaMap.put("ISO_8859-7", "ISO8859_7");
0759: fIANA2JavaMap.put("ELOT_928", "ISO8859_7");
0760: fIANA2JavaMap.put("ECMA-118", "ISO8859_7");
0761: fIANA2JavaMap.put("GREEK", "ISO8859_7");
0762: fIANA2JavaMap.put("CSISOLATINGREEK", "ISO8859_7");
0763: fIANA2JavaMap.put("GREEK8", "ISO8859_7");
0764:
0765: fIANA2JavaMap.put("ISO-8859-8", "ISO8859_8");
0766: fIANA2JavaMap.put("ISO-8859-8-I", "ISO8859_8"); // added since this encoding only differs w.r.t. presentation
0767: fIANA2JavaMap.put("ISO-IR-138", "ISO8859_8");
0768: fIANA2JavaMap.put("ISO_8859-8", "ISO8859_8");
0769: fIANA2JavaMap.put("HEBREW", "ISO8859_8");
0770: fIANA2JavaMap.put("CSISOLATINHEBREW", "ISO8859_8");
0771:
0772: fIANA2JavaMap.put("ISO-8859-9", "ISO8859_9");
0773: fIANA2JavaMap.put("ISO-IR-148", "ISO8859_9");
0774: fIANA2JavaMap.put("ISO_8859-9", "ISO8859_9");
0775: fIANA2JavaMap.put("LATIN5", "ISO8859_9");
0776: fIANA2JavaMap.put("CSISOLATIN5", "ISO8859_9");
0777: fIANA2JavaMap.put("L5", "ISO8859_9");
0778:
0779: fIANA2JavaMap.put("ISO-8859-13", "ISO8859_13");
0780:
0781: fIANA2JavaMap.put("ISO-8859-15", "ISO8859_15_FDIS");
0782: fIANA2JavaMap.put("ISO_8859-15", "ISO8859_15_FDIS");
0783: fIANA2JavaMap.put("LATIN-9", "ISO8859_15_FDIS");
0784:
0785: fIANA2JavaMap.put("KOI8-R", "KOI8_R");
0786: fIANA2JavaMap.put("CSKOI8R", "KOI8_R");
0787: fIANA2JavaMap.put("US-ASCII", "ASCII");
0788: fIANA2JavaMap.put("ISO-IR-6", "ASCII");
0789: fIANA2JavaMap.put("ANSI_X3.4-1968", "ASCII");
0790: fIANA2JavaMap.put("ANSI_X3.4-1986", "ASCII");
0791: fIANA2JavaMap.put("ISO_646.IRV:1991", "ASCII");
0792: fIANA2JavaMap.put("ASCII", "ASCII");
0793: fIANA2JavaMap.put("CSASCII", "ASCII");
0794: fIANA2JavaMap.put("ISO646-US", "ASCII");
0795: fIANA2JavaMap.put("US", "ASCII");
0796: fIANA2JavaMap.put("IBM367", "ASCII");
0797: fIANA2JavaMap.put("CP367", "ASCII");
0798: fIANA2JavaMap.put("UTF-8", "UTF8");
0799: fIANA2JavaMap.put("UTF-16", "UTF-16");
0800: fIANA2JavaMap.put("UTF-16BE", "UnicodeBig");
0801: fIANA2JavaMap.put("UTF-16LE", "UnicodeLittle");
0802:
0803: // support for 1047, as proposed to be added to the
0804: // IANA registry in
0805: // http://lists.w3.org/Archives/Public/ietf-charset/2002JulSep/0049.html
0806: fIANA2JavaMap.put("IBM-1047", "Cp1047");
0807: fIANA2JavaMap.put("IBM1047", "Cp1047");
0808: fIANA2JavaMap.put("CP1047", "Cp1047");
0809:
0810: // Adding new aliases as proposed in
0811: // http://lists.w3.org/Archives/Public/ietf-charset/2002JulSep/0058.html
0812: fIANA2JavaMap.put("IBM-37", "CP037");
0813: fIANA2JavaMap.put("IBM-273", "CP273");
0814: fIANA2JavaMap.put("IBM-277", "CP277");
0815: fIANA2JavaMap.put("IBM-278", "CP278");
0816: fIANA2JavaMap.put("IBM-280", "CP280");
0817: fIANA2JavaMap.put("IBM-284", "CP284");
0818: fIANA2JavaMap.put("IBM-285", "CP285");
0819: fIANA2JavaMap.put("IBM-290", "CP290");
0820: fIANA2JavaMap.put("IBM-297", "CP297");
0821: fIANA2JavaMap.put("IBM-420", "CP420");
0822: fIANA2JavaMap.put("IBM-424", "CP424");
0823: fIANA2JavaMap.put("IBM-437", "CP437");
0824: fIANA2JavaMap.put("IBM-500", "CP500");
0825: fIANA2JavaMap.put("IBM-775", "CP775");
0826: fIANA2JavaMap.put("IBM-850", "CP850");
0827: fIANA2JavaMap.put("IBM-852", "CP852");
0828: fIANA2JavaMap.put("IBM-855", "CP855");
0829: fIANA2JavaMap.put("IBM-857", "CP857");
0830: fIANA2JavaMap.put("IBM-858", "CP858");
0831: fIANA2JavaMap.put("IBM-860", "CP860");
0832: fIANA2JavaMap.put("IBM-861", "CP861");
0833: fIANA2JavaMap.put("IBM-862", "CP862");
0834: fIANA2JavaMap.put("IBM-863", "CP863");
0835: fIANA2JavaMap.put("IBM-864", "CP864");
0836: fIANA2JavaMap.put("IBM-865", "CP865");
0837: fIANA2JavaMap.put("IBM-866", "CP866");
0838: fIANA2JavaMap.put("IBM-868", "CP868");
0839: fIANA2JavaMap.put("IBM-869", "CP869");
0840: fIANA2JavaMap.put("IBM-870", "CP870");
0841: fIANA2JavaMap.put("IBM-871", "CP871");
0842: fIANA2JavaMap.put("IBM-918", "CP918");
0843: fIANA2JavaMap.put("IBM-924", "CP924");
0844: fIANA2JavaMap.put("IBM-1026", "CP1026");
0845: fIANA2JavaMap.put("IBM-1140", "Cp1140");
0846: fIANA2JavaMap.put("IBM-1141", "Cp1141");
0847: fIANA2JavaMap.put("IBM-1142", "Cp1142");
0848: fIANA2JavaMap.put("IBM-1143", "Cp1143");
0849: fIANA2JavaMap.put("IBM-1144", "Cp1144");
0850: fIANA2JavaMap.put("IBM-1145", "Cp1145");
0851: fIANA2JavaMap.put("IBM-1146", "Cp1146");
0852: fIANA2JavaMap.put("IBM-1147", "Cp1147");
0853: fIANA2JavaMap.put("IBM-1148", "Cp1148");
0854: fIANA2JavaMap.put("IBM-1149", "Cp1149");
0855: fIANA2JavaMap.put("IBM-819", "ISO8859_1");
0856: fIANA2JavaMap.put("IBM-367", "ASCII");
0857:
0858: // REVISIT:
0859: // j:CNS11643 -> EUC-TW?
0860: // ISO-2022-CN? ISO-2022-CN-EXT?
0861:
0862: // add Java to IANA encoding mappings
0863: //fJava2IANAMap.put("8859_1", "US-ASCII"); // ?
0864: fJava2IANAMap.put("ISO8859_1", "ISO-8859-1");
0865: fJava2IANAMap.put("ISO8859_2", "ISO-8859-2");
0866: fJava2IANAMap.put("ISO8859_3", "ISO-8859-3");
0867: fJava2IANAMap.put("ISO8859_4", "ISO-8859-4");
0868: fJava2IANAMap.put("ISO8859_5", "ISO-8859-5");
0869: fJava2IANAMap.put("ISO8859_6", "ISO-8859-6");
0870: fJava2IANAMap.put("ISO8859_7", "ISO-8859-7");
0871: fJava2IANAMap.put("ISO8859_8", "ISO-8859-8");
0872: fJava2IANAMap.put("ISO8859_9", "ISO-8859-9");
0873: fJava2IANAMap.put("ISO8859_13", "ISO-8859-13");
0874: fJava2IANAMap.put("ISO8859_15", "ISO-8859-15");
0875: fJava2IANAMap.put("ISO8859_15_FDIS", "ISO-8859-15");
0876: fJava2IANAMap.put("Big5", "BIG5");
0877: fJava2IANAMap.put("CP037", "EBCDIC-CP-US");
0878: fJava2IANAMap.put("CP273", "IBM273");
0879: fJava2IANAMap.put("CP277", "EBCDIC-CP-DK");
0880: fJava2IANAMap.put("CP278", "EBCDIC-CP-FI");
0881: fJava2IANAMap.put("CP280", "EBCDIC-CP-IT");
0882: fJava2IANAMap.put("CP284", "EBCDIC-CP-ES");
0883: fJava2IANAMap.put("CP285", "EBCDIC-CP-GB");
0884: fJava2IANAMap.put("CP290", "EBCDIC-JP-KANA");
0885: fJava2IANAMap.put("CP297", "EBCDIC-CP-FR");
0886: fJava2IANAMap.put("CP420", "EBCDIC-CP-AR1");
0887: fJava2IANAMap.put("CP424", "EBCDIC-CP-HE");
0888: fJava2IANAMap.put("CP437", "IBM437");
0889: fJava2IANAMap.put("CP500", "EBCDIC-CP-CH");
0890: fJava2IANAMap.put("CP775", "IBM775");
0891: fJava2IANAMap.put("CP850", "IBM850");
0892: fJava2IANAMap.put("CP852", "IBM852");
0893: fJava2IANAMap.put("CP855", "IBM855");
0894: fJava2IANAMap.put("CP857", "IBM857");
0895: fJava2IANAMap.put("CP858", "IBM00858");
0896: fJava2IANAMap.put("CP860", "IBM860");
0897: fJava2IANAMap.put("CP861", "IBM861");
0898: fJava2IANAMap.put("CP862", "IBM862");
0899: fJava2IANAMap.put("CP863", "IBM863");
0900: fJava2IANAMap.put("CP864", "IBM864");
0901: fJava2IANAMap.put("CP865", "IBM865");
0902: fJava2IANAMap.put("CP866", "IBM866");
0903: fJava2IANAMap.put("CP868", "IBM868");
0904: fJava2IANAMap.put("CP869", "IBM869");
0905: fJava2IANAMap.put("CP870", "EBCDIC-CP-ROECE");
0906: fJava2IANAMap.put("CP871", "EBCDIC-CP-IS");
0907: fJava2IANAMap.put("CP918", "EBCDIC-CP-AR2");
0908: fJava2IANAMap.put("CP924", "IBM00924");
0909: fJava2IANAMap.put("CP1026", "IBM1026");
0910: fJava2IANAMap.put("CP1140", "IBM01140");
0911: fJava2IANAMap.put("CP1141", "IBM01141");
0912: fJava2IANAMap.put("CP1142", "IBM01142");
0913: fJava2IANAMap.put("CP1143", "IBM01143");
0914: fJava2IANAMap.put("CP1144", "IBM01144");
0915: fJava2IANAMap.put("CP1145", "IBM01145");
0916: fJava2IANAMap.put("CP1146", "IBM01146");
0917: fJava2IANAMap.put("CP1147", "IBM01147");
0918: fJava2IANAMap.put("CP1148", "IBM01148");
0919: fJava2IANAMap.put("CP1149", "IBM01149");
0920: fJava2IANAMap.put("EUCJIS", "EUC-JP");
0921: fJava2IANAMap.put("KS_C_5601-1987", "KS_C_5601-1987");
0922: fJava2IANAMap.put("GB2312", "GB2312");
0923: fJava2IANAMap.put("ISO2022KR", "ISO-2022-KR");
0924: fJava2IANAMap.put("ISO2022CN", "ISO-2022-CN");
0925: fJava2IANAMap.put("JIS", "ISO-2022-JP");
0926: fJava2IANAMap.put("KOI8_R", "KOI8-R");
0927: fJava2IANAMap.put("KSC5601", "EUC-KR");
0928: fJava2IANAMap.put("GB18030", "GB18030");
0929: fJava2IANAMap.put("GBK", "GBK");
0930: fJava2IANAMap.put("SJIS", "SHIFT_JIS");
0931: fJava2IANAMap.put("MS932", "WINDOWS-31J");
0932: fJava2IANAMap.put("UTF8", "UTF-8");
0933: fJava2IANAMap.put("Unicode", "UTF-16");
0934: fJava2IANAMap.put("UnicodeBig", "UTF-16BE");
0935: fJava2IANAMap.put("UnicodeLittle", "UTF-16LE");
0936: fJava2IANAMap.put("JIS0201", "X0201");
0937: fJava2IANAMap.put("JIS0208", "X0208");
0938: fJava2IANAMap.put("JIS0212", "ISO-IR-159");
0939:
0940: // proposed addition (see above for details):
0941: fJava2IANAMap.put("CP1047", "IBM1047");
0942:
0943: } // <clinit>()
0944:
0945: //
0946: // Constructors
0947: //
0948:
0949: /** Default constructor. */
0950: public EncodingMap() {
0951: }
0952:
0953: //
0954: // Public static methods
0955: //
0956:
0957: /**
0958: * Adds an IANA to Java encoding name mapping.
0959: *
0960: * @param ianaEncoding The IANA encoding name.
0961: * @param javaEncoding The Java encoding name.
0962: *
0963: * @deprecated Use of this method is not recommended. Its
0964: * effect is JVM wide and may cause unforeseen behaviour
0965: * for other applications running in the system.
0966: */
0967: public static void putIANA2JavaMapping(String ianaEncoding,
0968: String javaEncoding) {
0969: fIANA2JavaMap.put(ianaEncoding, javaEncoding);
0970: } // putIANA2JavaMapping(String,String)
0971:
0972: /**
0973: * Returns the Java encoding name for the specified IANA encoding name.
0974: *
0975: * @param ianaEncoding The IANA encoding name.
0976: */
0977: public static String getIANA2JavaMapping(String ianaEncoding) {
0978: return (String) fIANA2JavaMap.get(ianaEncoding);
0979: } // getIANA2JavaMapping(String):String
0980:
0981: /**
0982: * Removes an IANA to Java encoding name mapping.
0983: *
0984: * @param ianaEncoding The IANA encoding name.
0985: *
0986: * @deprecated Use of this method is not recommended. Its
0987: * effect is JVM wide and may cause unforeseen behaviour
0988: * for other applications running in the system.
0989: */
0990: public static String removeIANA2JavaMapping(String ianaEncoding) {
0991: return (String) fIANA2JavaMap.remove(ianaEncoding);
0992: } // removeIANA2JavaMapping(String):String
0993:
0994: /**
0995: * Adds a Java to IANA encoding name mapping.
0996: *
0997: * @param javaEncoding The Java encoding name.
0998: * @param ianaEncoding The IANA encoding name.
0999: *
1000: * @deprecated Use of this method is not recommended. Its
1001: * effect is JVM wide and may cause unforeseen behaviour
1002: * for other applications running in the system.
1003: */
1004: public static void putJava2IANAMapping(String javaEncoding,
1005: String ianaEncoding) {
1006: fJava2IANAMap.put(javaEncoding, ianaEncoding);
1007: } // putJava2IANAMapping(String,String)
1008:
1009: /**
1010: * Returns the IANA encoding name for the specified Java encoding name.
1011: *
1012: * @param javaEncoding The Java encoding name.
1013: */
1014: public static String getJava2IANAMapping(String javaEncoding) {
1015: return (String) fJava2IANAMap.get(javaEncoding);
1016: } // getJava2IANAMapping(String):String
1017:
1018: /**
1019: * Removes a Java to IANA encoding name mapping.
1020: *
1021: * @param javaEncoding The Java encoding name.
1022: *
1023: * @deprecated Use of this method is not recommended. Its
1024: * effect is JVM wide and may cause unforeseen behaviour
1025: * for other applications running in the system.
1026: */
1027: public static String removeJava2IANAMapping(String javaEncoding) {
1028: return (String) fJava2IANAMap.remove(javaEncoding);
1029: } // removeJava2IANAMapping
1030:
1031: } // class EncodingMap
|