KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > org > apache > xerces > internal > util > EncodingMap


1 /*
2  * The Apache Software License, Version 1.1
3  *
4  *
5  * Copyright (c) 1999-2002 The Apache Software Foundation.
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * 1. Redistributions of source code must retain the above copyright
13  * notice, this list of conditions and the following disclaimer.
14  *
15  * 2. Redistributions in binary form must reproduce the above copyright
16  * notice, this list of conditions and the following disclaimer in
17  * the documentation and/or other materials provided with the
18  * distribution.
19  *
20  * 3. The end-user documentation included with the redistribution,
21  * if any, must include the following acknowledgment:
22  * "This product includes software developed by the
23  * Apache Software Foundation (http://www.apache.org/)."
24  * Alternately, this acknowledgment may appear in the software itself,
25  * if and wherever such third-party acknowledgments normally appear.
26  *
27  * 4. The names "Xerces" and "Apache Software Foundation" must
28  * not be used to endorse or promote products derived from this
29  * software without prior written permission. For written
30  * permission, please contact apache@apache.org.
31  *
32  * 5. Products derived from this software may not be called "Apache",
33  * nor may "Apache" appear in their name, without prior written
34  * permission of the Apache Software Foundation.
35  *
36  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
37  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
38  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39  * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
40  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
42  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
43  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
44  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
45  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
46  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
47  * SUCH DAMAGE.
48  * ====================================================================
49  *
50  * This software consists of voluntary contributions made by many
51  * individuals on behalf of the Apache Software Foundation and was
52  * originally based on software copyright (c) 1999, International
53  * Business Machines, Inc., http://www.apache.org. For more
54  * information on the Apache Software Foundation, please see
55  * <http://www.apache.org/>.
56  */

57
58 package com.sun.org.apache.xerces.internal.util;
59
60 import java.util.Hashtable JavaDoc;
61
62 /**
63  * EncodingMap is a convenience class which handles conversions between
64  * IANA encoding names and Java encoding names, and vice versa. The
65  * encoding names used in XML instance documents <strong>must</strong>
66  * be the IANA encoding names specified or one of the aliases for those names
67  * which IANA defines.
68  * <p>
69  * <TABLE BORDER="0" WIDTH="100%">
70  * <TR>
71  * <TD WIDTH="33%">
72  * <P ALIGN="CENTER"><B>Common Name</B>
73  * </TD>
74  * <TD WIDTH="15%">
75  * <P ALIGN="CENTER"><B>Use this name in XML files</B>
76  * </TD>
77  * <TD WIDTH="12%">
78  * <P ALIGN="CENTER"><B>Name Type</B>
79  * </TD>
80  * <TD WIDTH="31%">
81  * <P ALIGN="CENTER"><B>Xerces converts to this Java Encoder Name</B>
82  * </TD>
83  * </TR>
84  * <TR>
85  * <TD WIDTH="33%">8 bit Unicode</TD>
86  * <TD WIDTH="15%">
87  * <P ALIGN="CENTER">UTF-8
88  * </TD>
89  * <TD WIDTH="12%">
90  * <P ALIGN="CENTER">IANA
91  * </TD>
92  * <TD WIDTH="31%">
93  * <P ALIGN="CENTER">UTF8
94  * </TD>
95  * </TR>
96  * <TR>
97  * <TD WIDTH="33%">ISO Latin 1</TD>
98  * <TD WIDTH="15%">
99  * <P ALIGN="CENTER">ISO-8859-1
100  * </TD>
101  * <TD WIDTH="12%">
102  * <P ALIGN="CENTER">MIME
103  * </TD>
104  * <TD WIDTH="31%">
105  * <P ALIGN="CENTER">ISO-8859-1
106  * </TD>
107  * </TR>
108  * <TR>
109  * <TD WIDTH="33%">ISO Latin 2</TD>
110  * <TD WIDTH="15%">
111  * <P ALIGN="CENTER">ISO-8859-2
112  * </TD>
113  * <TD WIDTH="12%">
114  * <P ALIGN="CENTER">MIME
115  * </TD>
116  * <TD WIDTH="31%">
117  * <P ALIGN="CENTER">ISO-8859-2
118  * </TD>
119  * </TR>
120  * <TR>
121  * <TD WIDTH="33%">ISO Latin 3</TD>
122  * <TD WIDTH="15%">
123  * <P ALIGN="CENTER">ISO-8859-3
124  * </TD>
125  * <TD WIDTH="12%">
126  * <P ALIGN="CENTER">MIME
127  * </TD>
128  * <TD WIDTH="31%">
129  * <P ALIGN="CENTER">ISO-8859-3
130  * </TD>
131  * </TR>
132  * <TR>
133  * <TD WIDTH="33%">ISO Latin 4</TD>
134  * <TD WIDTH="15%">
135  * <P ALIGN="CENTER">ISO-8859-4
136  * </TD>
137  * <TD WIDTH="12%">
138  * <P ALIGN="CENTER">MIME
139  * </TD>
140  * <TD WIDTH="31%">
141  * <P ALIGN="CENTER">ISO-8859-4
142  * </TD>
143  * </TR>
144  * <TR>
145  * <TD WIDTH="33%">ISO Latin Cyrillic</TD>
146  * <TD WIDTH="15%">
147  * <P ALIGN="CENTER">ISO-8859-5
148  * </TD>
149  * <TD WIDTH="12%">
150  * <P ALIGN="CENTER">MIME
151  * </TD>
152  * <TD WIDTH="31%">
153  * <P ALIGN="CENTER">ISO-8859-5
154  * </TD>
155  * </TR>
156  * <TR>
157  * <TD WIDTH="33%">ISO Latin Arabic</TD>
158  * <TD WIDTH="15%">
159  * <P ALIGN="CENTER">ISO-8859-6
160  * </TD>
161  * <TD WIDTH="12%">
162  * <P ALIGN="CENTER">MIME
163  * </TD>
164  * <TD WIDTH="31%">
165  * <P ALIGN="CENTER">ISO-8859-6
166  * </TD>
167  * </TR>
168  * <TR>
169  * <TD WIDTH="33%">ISO Latin Greek</TD>
170  * <TD WIDTH="15%">
171  * <P ALIGN="CENTER">ISO-8859-7
172  * </TD>
173  * <TD WIDTH="12%">
174  * <P ALIGN="CENTER">MIME
175  * </TD>
176  * <TD WIDTH="31%">
177  * <P ALIGN="CENTER">ISO-8859-7
178  * </TD>
179  * </TR>
180  * <TR>
181  * <TD WIDTH="33%">ISO Latin Hebrew</TD>
182  * <TD WIDTH="15%">
183  * <P ALIGN="CENTER">ISO-8859-8
184  * </TD>
185  * <TD WIDTH="12%">
186  * <P ALIGN="CENTER">MIME
187  * </TD>
188  * <TD WIDTH="31%">
189  * <P ALIGN="CENTER">ISO-8859-8
190  * </TD>
191  * </TR>
192  * <TR>
193  * <TD WIDTH="33%">ISO Latin 5</TD>
194  * <TD WIDTH="15%">
195  * <P ALIGN="CENTER">ISO-8859-9
196  * </TD>
197  * <TD WIDTH="12%">
198  * <P ALIGN="CENTER">MIME
199  * </TD>
200  * <TD WIDTH="31%">
201  * <P ALIGN="CENTER">ISO-8859-9
202  * </TD>
203  * </TR>
204  * <TR>
205  * <TD WIDTH="33%">EBCDIC: US</TD>
206  * <TD WIDTH="15%">
207  * <P ALIGN="CENTER">ebcdic-cp-us
208  * </TD>
209  * <TD WIDTH="12%">
210  * <P ALIGN="CENTER">IANA
211  * </TD>
212  * <TD WIDTH="31%">
213  * <P ALIGN="CENTER">cp037
214  * </TD>
215  * </TR>
216  * <TR>
217  * <TD WIDTH="33%">EBCDIC: Canada</TD>
218  * <TD WIDTH="15%">
219  * <P ALIGN="CENTER">ebcdic-cp-ca
220  * </TD>
221  * <TD WIDTH="12%">
222  * <P ALIGN="CENTER">IANA
223  * </TD>
224  * <TD WIDTH="31%">
225  * <P ALIGN="CENTER">cp037
226  * </TD>
227  * </TR>
228  * <TR>
229  * <TD WIDTH="33%">EBCDIC: Netherlands</TD>
230  * <TD WIDTH="15%">
231  * <P ALIGN="CENTER">ebcdic-cp-nl
232  * </TD>
233  * <TD WIDTH="12%">
234  * <P ALIGN="CENTER">IANA
235  * </TD>
236  * <TD WIDTH="31%">
237  * <P ALIGN="CENTER">cp037
238  * </TD>
239  * </TR>
240  * <TR>
241  * <TD WIDTH="33%">EBCDIC: Denmark</TD>
242  * <TD WIDTH="15%">
243  * <P ALIGN="CENTER">ebcdic-cp-dk
244  * </TD>
245  * <TD WIDTH="12%">
246  * <P ALIGN="CENTER">IANA
247  * </TD>
248  * <TD WIDTH="31%">
249  * <P ALIGN="CENTER">cp277
250  * </TD>
251  * </TR>
252  * <TR>
253  * <TD WIDTH="33%">EBCDIC: Norway</TD>
254  * <TD WIDTH="15%">
255  * <P ALIGN="CENTER">ebcdic-cp-no
256  * </TD>
257  * <TD WIDTH="12%">
258  * <P ALIGN="CENTER">IANA
259  * </TD>
260  * <TD WIDTH="31%">
261  * <P ALIGN="CENTER">cp277
262  * </TD>
263  * </TR>
264  * <TR>
265  * <TD WIDTH="33%">EBCDIC: Finland</TD>
266  * <TD WIDTH="15%">
267  * <P ALIGN="CENTER">ebcdic-cp-fi
268  * </TD>
269  * <TD WIDTH="12%">
270  * <P ALIGN="CENTER">IANA
271  * </TD>
272  * <TD WIDTH="31%">
273  * <P ALIGN="CENTER">cp278
274  * </TD>
275  * </TR>
276  * <TR>
277  * <TD WIDTH="33%">EBCDIC: Sweden</TD>
278  * <TD WIDTH="15%">
279  * <P ALIGN="CENTER">ebcdic-cp-se
280  * </TD>
281  * <TD WIDTH="12%">
282  * <P ALIGN="CENTER">IANA
283  * </TD>
284  * <TD WIDTH="31%">
285  * <P ALIGN="CENTER">cp278
286  * </TD>
287  * </TR>
288  * <TR>
289  * <TD WIDTH="33%">EBCDIC: Italy</TD>
290  * <TD WIDTH="15%">
291  * <P ALIGN="CENTER">ebcdic-cp-it
292  * </TD>
293  * <TD WIDTH="12%">
294  * <P ALIGN="CENTER">IANA
295  * </TD>
296  * <TD WIDTH="31%">
297  * <P ALIGN="CENTER">cp280
298  * </TD>
299  * </TR>
300  * <TR>
301  * <TD WIDTH="33%">EBCDIC: Spain, Latin America</TD>
302  * <TD WIDTH="15%">
303  * <P ALIGN="CENTER">ebcdic-cp-es
304  * </TD>
305  * <TD WIDTH="12%">
306  * <P ALIGN="CENTER">IANA
307  * </TD>
308  * <TD WIDTH="31%">
309  * <P ALIGN="CENTER">cp284
310  * </TD>
311  * </TR>
312  * <TR>
313  * <TD WIDTH="33%">EBCDIC: Great Britain</TD>
314  * <TD WIDTH="15%">
315  * <P ALIGN="CENTER">ebcdic-cp-gb
316  * </TD>
317  * <TD WIDTH="12%">
318  * <P ALIGN="CENTER">IANA
319  * </TD>
320  * <TD WIDTH="31%">
321  * <P ALIGN="CENTER">cp285
322  * </TD>
323  * </TR>
324  * <TR>
325  * <TD WIDTH="33%">EBCDIC: France</TD>
326  * <TD WIDTH="15%">
327  * <P ALIGN="CENTER">ebcdic-cp-fr
328  * </TD>
329  * <TD WIDTH="12%">
330  * <P ALIGN="CENTER">IANA
331  * </TD>
332  * <TD WIDTH="31%">
333  * <P ALIGN="CENTER">cp297
334  * </TD>
335  * </TR>
336  * <TR>
337  * <TD WIDTH="33%">EBCDIC: Arabic</TD>
338  * <TD WIDTH="15%">
339  * <P ALIGN="CENTER">ebcdic-cp-ar1
340  * </TD>
341  * <TD WIDTH="12%">
342  * <P ALIGN="CENTER">IANA
343  * </TD>
344  * <TD WIDTH="31%">
345  * <P ALIGN="CENTER">cp420
346  * </TD>
347  * </TR>
348  * <TR>
349  * <TD WIDTH="33%">EBCDIC: Hebrew</TD>
350  * <TD WIDTH="15%">
351  * <P ALIGN="CENTER">ebcdic-cp-he
352  * </TD>
353  * <TD WIDTH="12%">
354  * <P ALIGN="CENTER">IANA
355  * </TD>
356  * <TD WIDTH="31%">
357  * <P ALIGN="CENTER">cp424
358  * </TD>
359  * </TR>
360  * <TR>
361  * <TD WIDTH="33%">EBCDIC: Switzerland</TD>
362  * <TD WIDTH="15%">
363  * <P ALIGN="CENTER">ebcdic-cp-ch
364  * </TD>
365  * <TD WIDTH="12%">
366  * <P ALIGN="CENTER">IANA
367  * </TD>
368  * <TD WIDTH="31%">
369  * <P ALIGN="CENTER">cp500
370  * </TD>
371  * </TR>
372  * <TR>
373  * <TD WIDTH="33%">EBCDIC: Roece</TD>
374  * <TD WIDTH="15%">
375  * <P ALIGN="CENTER">ebcdic-cp-roece
376  * </TD>
377  * <TD WIDTH="12%">
378  * <P ALIGN="CENTER">IANA
379  * </TD>
380  * <TD WIDTH="31%">
381  * <P ALIGN="CENTER">cp870
382  * </TD>
383  * </TR>
384  * <TR>
385  * <TD WIDTH="33%">EBCDIC: Yugoslavia</TD>
386  * <TD WIDTH="15%">
387  * <P ALIGN="CENTER">ebcdic-cp-yu
388  * </TD>
389  * <TD WIDTH="12%">
390  * <P ALIGN="CENTER">IANA
391  * </TD>
392  * <TD WIDTH="31%">
393  * <P ALIGN="CENTER">cp870
394  * </TD>
395  * </TR>
396  * <TR>
397  * <TD WIDTH="33%">EBCDIC: Iceland</TD>
398  * <TD WIDTH="15%">
399  * <P ALIGN="CENTER">ebcdic-cp-is
400  * </TD>
401  * <TD WIDTH="12%">
402  * <P ALIGN="CENTER">IANA
403  * </TD>
404  * <TD WIDTH="31%">
405  * <P ALIGN="CENTER">cp871
406  * </TD>
407  * </TR>
408  * <TR>
409  * <TD WIDTH="33%">EBCDIC: Urdu</TD>
410  * <TD WIDTH="15%">
411  * <P ALIGN="CENTER">ebcdic-cp-ar2
412  * </TD>
413  * <TD WIDTH="12%">
414  * <P ALIGN="CENTER">IANA
415  * </TD>
416  * <TD WIDTH="31%">
417  * <P ALIGN="CENTER">cp918
418  * </TD>
419  * </TR>
420  * <TR>
421  * <TD WIDTH="33%">Chinese for PRC, mixed 1/2 byte</TD>
422  * <TD WIDTH="15%">
423  * <P ALIGN="CENTER">gb2312
424  * </TD>
425  * <TD WIDTH="12%">
426  * <P ALIGN="CENTER">MIME
427  * </TD>
428  * <TD WIDTH="31%">
429  * <P ALIGN="CENTER">GB2312
430  * </TD>
431  * </TR>
432  * <TR>
433  * <TD WIDTH="33%">Extended Unix Code, packed for Japanese</TD>
434  * <TD WIDTH="15%">
435  * <P ALIGN="CENTER">euc-jp
436  * </TD>
437  * <TD WIDTH="12%">
438  * <P ALIGN="CENTER">MIME
439  * </TD>
440  * <TD WIDTH="31%">
441  * <P ALIGN="CENTER">eucjis
442  * </TD>
443  * </TR>
444  * <TR>
445  * <TD WIDTH="33%">Japanese: iso-2022-jp</TD>
446  * <TD WIDTH="15%">
447  * <P ALIGN="CENTER">iso-2020-jp
448  * </TD>
449  * <TD WIDTH="12%">
450  * <P ALIGN="CENTER">MIME
451  * </TD>
452  * <TD WIDTH="31%">
453  * <P ALIGN="CENTER">JIS
454  * </TD>
455  * </TR>
456  * <TR>
457  * <TD WIDTH="33%">Japanese: Shift JIS</TD>
458  * <TD WIDTH="15%">
459  * <P ALIGN="CENTER">Shift_JIS
460  * </TD>
461  * <TD WIDTH="12%">
462  * <P ALIGN="CENTER">MIME
463  * </TD>
464  * <TD WIDTH="31%">
465  * <P ALIGN="CENTER">SJIS
466  * </TD>
467  * </TR>
468  * <TR>
469  * <TD WIDTH="33%">Chinese: Big5</TD>
470  * <TD WIDTH="15%">
471  * <P ALIGN="CENTER">Big5
472  * </TD>
473  * <TD WIDTH="12%">
474  * <P ALIGN="CENTER">MIME
475  * </TD>
476  * <TD WIDTH="31%">
477  * <P ALIGN="CENTER">Big5
478  * </TD>
479  * </TR>
480  * <TR>
481  * <TD WIDTH="33%">Extended Unix Code, packed for Korean</TD>
482  * <TD WIDTH="15%">
483  * <P ALIGN="CENTER">euc-kr
484  * </TD>
485  * <TD WIDTH="12%">
486  * <P ALIGN="CENTER">MIME
487  * </TD>
488  * <TD WIDTH="31%">
489  * <P ALIGN="CENTER">iso2022kr
490  * </TD>
491  * </TR>
492  * <TR>
493  * <TD WIDTH="33%">Cyrillic</TD>
494  * <TD WIDTH="15%">
495  * <P ALIGN="CENTER">koi8-r
496  * </TD>
497  * <TD WIDTH="12%">
498  * <P ALIGN="CENTER">MIME
499  * </TD>
500  * <TD WIDTH="31%">
501  * <P ALIGN="CENTER">koi8-r
502  * </TD>
503  * </TR>
504  * </TABLE>
505  *
506  * @author TAMURA Kent, IBM
507  * @author Andy Clark, IBM
508  *
509  * @version $Id: EncodingMap.java,v 1.20 2004/03/17 19:50:03 mrglavas Exp $
510  */

511 public class EncodingMap {
512
513     //
514
// Data
515
//
516

517     /** fIANA2JavaMap */
518     protected final static Hashtable JavaDoc fIANA2JavaMap = new Hashtable JavaDoc();
519
520     /** fJava2IANAMap */
521     protected final static Hashtable JavaDoc fJava2IANAMap = new Hashtable JavaDoc();
522
523     //
524
// Static initialization
525
//
526

527     static {
528
529         // add IANA to Java encoding mappings.
530
fIANA2JavaMap.put("BIG5", "Big5");
531         fIANA2JavaMap.put("CSBIG5", "Big5");
532         fIANA2JavaMap.put("CP037", "CP037");
533         fIANA2JavaMap.put("IBM037", "CP037");
534         fIANA2JavaMap.put("CSIBM037", "CP037");
535         fIANA2JavaMap.put("EBCDIC-CP-US", "CP037");
536         fIANA2JavaMap.put("EBCDIC-CP-CA", "CP037");
537         fIANA2JavaMap.put("EBCDIC-CP-NL", "CP037");
538         fIANA2JavaMap.put("EBCDIC-CP-WT", "CP037");
539         fIANA2JavaMap.put("IBM273", "CP273");
540         fIANA2JavaMap.put("CP273", "CP273");
541         fIANA2JavaMap.put("CSIBM273", "CP273");
542         fIANA2JavaMap.put("IBM277", "CP277");
543         fIANA2JavaMap.put("CP277", "CP277");
544         fIANA2JavaMap.put("CSIBM277", "CP277");
545         fIANA2JavaMap.put("EBCDIC-CP-DK", "CP277");
546         fIANA2JavaMap.put("EBCDIC-CP-NO", "CP277");
547         fIANA2JavaMap.put("IBM278", "CP278");
548         fIANA2JavaMap.put("CP278", "CP278");
549         fIANA2JavaMap.put("CSIBM278", "CP278");
550         fIANA2JavaMap.put("EBCDIC-CP-FI", "CP278");
551         fIANA2JavaMap.put("EBCDIC-CP-SE", "CP278");
552         fIANA2JavaMap.put("IBM280", "CP280");
553         fIANA2JavaMap.put("CP280", "CP280");
554         fIANA2JavaMap.put("CSIBM280", "CP280");
555         fIANA2JavaMap.put("EBCDIC-CP-IT", "CP280");
556         fIANA2JavaMap.put("IBM284", "CP284");
557         fIANA2JavaMap.put("CP284", "CP284");
558         fIANA2JavaMap.put("CSIBM284", "CP284");
559         fIANA2JavaMap.put("EBCDIC-CP-ES", "CP284");
560         fIANA2JavaMap.put("EBCDIC-CP-GB", "CP285");
561         fIANA2JavaMap.put("IBM285", "CP285");
562         fIANA2JavaMap.put("CP285", "CP285");
563         fIANA2JavaMap.put("CSIBM285", "CP285");
564         fIANA2JavaMap.put("EBCDIC-JP-KANA", "CP290");
565         fIANA2JavaMap.put("IBM290", "CP290");
566         fIANA2JavaMap.put("CP290", "CP290");
567         fIANA2JavaMap.put("CSIBM290", "CP290");
568         fIANA2JavaMap.put("EBCDIC-CP-FR", "CP297");
569         fIANA2JavaMap.put("IBM297", "CP297");
570         fIANA2JavaMap.put("CP297", "CP297");
571         fIANA2JavaMap.put("CSIBM297", "CP297");
572         fIANA2JavaMap.put("EBCDIC-CP-AR1", "CP420");
573         fIANA2JavaMap.put("IBM420", "CP420");
574         fIANA2JavaMap.put("CP420", "CP420");
575         fIANA2JavaMap.put("CSIBM420", "CP420");
576         fIANA2JavaMap.put("EBCDIC-CP-HE", "CP424");
577         fIANA2JavaMap.put("IBM424", "CP424");
578         fIANA2JavaMap.put("CP424", "CP424");
579         fIANA2JavaMap.put("CSIBM424", "CP424");
580         fIANA2JavaMap.put("IBM437", "CP437");
581         fIANA2JavaMap.put("437", "CP437");
582         fIANA2JavaMap.put("CP437", "CP437");
583         fIANA2JavaMap.put("CSPC8CODEPAGE437", "CP437");
584         fIANA2JavaMap.put("EBCDIC-CP-CH", "CP500");
585         fIANA2JavaMap.put("IBM500", "CP500");
586         fIANA2JavaMap.put("CP500", "CP500");
587         fIANA2JavaMap.put("CSIBM500", "CP500");
588         fIANA2JavaMap.put("EBCDIC-CP-CH", "CP500");
589         fIANA2JavaMap.put("EBCDIC-CP-BE", "CP500");
590         fIANA2JavaMap.put("IBM775", "CP775");
591         fIANA2JavaMap.put("CP775", "CP775");
592         fIANA2JavaMap.put("CSPC775BALTIC", "CP775");
593         fIANA2JavaMap.put("IBM850", "CP850");
594         fIANA2JavaMap.put("850", "CP850");
595         fIANA2JavaMap.put("CP850", "CP850");
596         fIANA2JavaMap.put("CSPC850MULTILINGUAL", "CP850");
597         fIANA2JavaMap.put("IBM852", "CP852");
598         fIANA2JavaMap.put("852", "CP852");
599         fIANA2JavaMap.put("CP852", "CP852");
600         fIANA2JavaMap.put("CSPCP852", "CP852");
601         fIANA2JavaMap.put("IBM855", "CP855");
602         fIANA2JavaMap.put("855", "CP855");
603         fIANA2JavaMap.put("CP855", "CP855");
604         fIANA2JavaMap.put("CSIBM855", "CP855");
605         fIANA2JavaMap.put("IBM857", "CP857");
606         fIANA2JavaMap.put("857", "CP857");
607         fIANA2JavaMap.put("CP857", "CP857");
608         fIANA2JavaMap.put("CSIBM857", "CP857");
609         fIANA2JavaMap.put("IBM00858", "CP858");
610         fIANA2JavaMap.put("CP00858", "CP858");
611         fIANA2JavaMap.put("CCSID00858", "CP858");
612         fIANA2JavaMap.put("IBM860", "CP860");
613         fIANA2JavaMap.put("860", "CP860");
614         fIANA2JavaMap.put("CP860", "CP860");
615         fIANA2JavaMap.put("CSIBM860", "CP860");
616         fIANA2JavaMap.put("IBM861", "CP861");
617         fIANA2JavaMap.put("861", "CP861");
618         fIANA2JavaMap.put("CP861", "CP861");
619         fIANA2JavaMap.put("CP-IS", "CP861");
620         fIANA2JavaMap.put("CSIBM861", "CP861");
621         fIANA2JavaMap.put("IBM862", "CP862");
622         fIANA2JavaMap.put("862", "CP862");
623         fIANA2JavaMap.put("CP862", "CP862");
624         fIANA2JavaMap.put("CSPC862LATINHEBREW", "CP862");
625         fIANA2JavaMap.put("IBM863", "CP863");
626         fIANA2JavaMap.put("863", "CP863");
627         fIANA2JavaMap.put("CP863", "CP863");
628         fIANA2JavaMap.put("CSIBM863", "CP863");
629         fIANA2JavaMap.put("IBM864", "CP864");
630         fIANA2JavaMap.put("CP864", "CP864");
631         fIANA2JavaMap.put("CSIBM864", "CP864");
632         fIANA2JavaMap.put("IBM865", "CP865");
633         fIANA2JavaMap.put("865", "CP865");
634         fIANA2JavaMap.put("CP865", "CP865");
635         fIANA2JavaMap.put("CSIBM865", "CP865");
636         fIANA2JavaMap.put("IBM866", "CP866");
637         fIANA2JavaMap.put("866", "CP866");
638         fIANA2JavaMap.put("CP866", "CP866");
639         fIANA2JavaMap.put("CSIBM866", "CP866");
640         fIANA2JavaMap.put("IBM868", "CP868");
641         fIANA2JavaMap.put("CP868", "CP868");
642         fIANA2JavaMap.put("CSIBM868", "CP868");
643         fIANA2JavaMap.put("CP-AR", "CP868");
644         fIANA2JavaMap.put("IBM869", "CP869");
645         fIANA2JavaMap.put("CP869", "CP869");
646         fIANA2JavaMap.put("CSIBM869", "CP869");
647         fIANA2JavaMap.put("CP-GR", "CP869");
648         fIANA2JavaMap.put("IBM870", "CP870");
649         fIANA2JavaMap.put("CP870", "CP870");
650         fIANA2JavaMap.put("CSIBM870", "CP870");
651         fIANA2JavaMap.put("EBCDIC-CP-ROECE", "CP870");
652         fIANA2JavaMap.put("EBCDIC-CP-YU", "CP870");
653         fIANA2JavaMap.put("IBM871", "CP871");
654         fIANA2JavaMap.put("CP871", "CP871");
655         fIANA2JavaMap.put("CSIBM871", "CP871");
656         fIANA2JavaMap.put("EBCDIC-CP-IS", "CP871");
657         fIANA2JavaMap.put("IBM918", "CP918");
658         fIANA2JavaMap.put("CP918", "CP918");
659         fIANA2JavaMap.put("CSIBM918", "CP918");
660         fIANA2JavaMap.put("EBCDIC-CP-AR2", "CP918");
661         fIANA2JavaMap.put("IBM00924", "CP924");
662         fIANA2JavaMap.put("CP00924", "CP924");
663         fIANA2JavaMap.put("CCSID00924", "CP924");
664         // is this an error???
665
fIANA2JavaMap.put("EBCDIC-LATIN9--EURO", "CP924");
666         fIANA2JavaMap.put("IBM1026", "CP1026");
667         fIANA2JavaMap.put("CP1026", "CP1026");
668         fIANA2JavaMap.put("CSIBM1026", "CP1026");
669         fIANA2JavaMap.put("IBM01140", "Cp1140");
670         fIANA2JavaMap.put("CP01140", "Cp1140");
671         fIANA2JavaMap.put("CCSID01140", "Cp1140");
672         fIANA2JavaMap.put("IBM01141", "Cp1141");
673         fIANA2JavaMap.put("CP01141", "Cp1141");
674         fIANA2JavaMap.put("CCSID01141", "Cp1141");
675         fIANA2JavaMap.put("IBM01142", "Cp1142");
676         fIANA2JavaMap.put("CP01142", "Cp1142");
677         fIANA2JavaMap.put("CCSID01142", "Cp1142");
678         fIANA2JavaMap.put("IBM01143", "Cp1143");
679         fIANA2JavaMap.put("CP01143", "Cp1143");
680         fIANA2JavaMap.put("CCSID01143", "Cp1143");
681         fIANA2JavaMap.put("IBM01144", "Cp1144");
682         fIANA2JavaMap.put("CP01144", "Cp1144");
683         fIANA2JavaMap.put("CCSID01144", "Cp1144");
684         fIANA2JavaMap.put("IBM01145", "Cp1145");
685         fIANA2JavaMap.put("CP01145", "Cp1145");
686         fIANA2JavaMap.put("CCSID01145", "Cp1145");
687         fIANA2JavaMap.put("IBM01146", "Cp1146");
688         fIANA2JavaMap.put("CP01146", "Cp1146");
689         fIANA2JavaMap.put("CCSID01146", "Cp1146");
690         fIANA2JavaMap.put("IBM01147", "Cp1147");
691         fIANA2JavaMap.put("CP01147", "Cp1147");
692         fIANA2JavaMap.put("CCSID01147", "Cp1147");
693         fIANA2JavaMap.put("IBM01148", "Cp1148");
694         fIANA2JavaMap.put("CP01148", "Cp1148");
695         fIANA2JavaMap.put("CCSID01148", "Cp1148");
696         fIANA2JavaMap.put("IBM01149", "Cp1149");
697         fIANA2JavaMap.put("CP01149", "Cp1149");
698         fIANA2JavaMap.put("CCSID01149", "Cp1149");
699         fIANA2JavaMap.put("EUC-JP", "EUCJIS");
700         fIANA2JavaMap.put("CSEUCPKDFMTJAPANESE", "EUCJIS");
701         fIANA2JavaMap.put("EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", "EUCJIS");
702         fIANA2JavaMap.put("EUC-KR", "KSC5601");
703         fIANA2JavaMap.put("CSEUCKR", "KSC5601");
704         fIANA2JavaMap.put("KS_C_5601-1987", "KS_C_5601-1987");
705         fIANA2JavaMap.put("ISO-IR-149", "KS_C_5601-1987");
706         fIANA2JavaMap.put("KS_C_5601-1989", "KS_C_5601-1987");
707         fIANA2JavaMap.put("KSC_5601", "KS_C_5601-1987");
708         fIANA2JavaMap.put("KOREAN", "KS_C_5601-1987");
709         fIANA2JavaMap.put("CSKSC56011987", "KS_C_5601-1987");
710         fIANA2JavaMap.put("GB2312", "GB2312");
711         fIANA2JavaMap.put("CSGB2312", "GB2312");
712         fIANA2JavaMap.put("ISO-2022-JP", "JIS");
713         fIANA2JavaMap.put("CSISO2022JP", "JIS");
714         fIANA2JavaMap.put("ISO-2022-KR", "ISO2022KR");
715         fIANA2JavaMap.put("CSISO2022KR", "ISO2022KR");
716         fIANA2JavaMap.put("ISO-2022-CN", "ISO2022CN");
717
718         fIANA2JavaMap.put("X0201", "JIS0201");
719         fIANA2JavaMap.put("CSISO13JISC6220JP", "JIS0201");
720         fIANA2JavaMap.put("X0208", "JIS0208");
721         fIANA2JavaMap.put("ISO-IR-87", "JIS0208");
722         fIANA2JavaMap.put("X0208dbiJIS_X0208-1983", "JIS0208");
723         fIANA2JavaMap.put("CSISO87JISX0208", "JIS0208");
724         fIANA2JavaMap.put("X0212", "JIS0212");
725         fIANA2JavaMap.put("ISO-IR-159", "JIS0212");
726         fIANA2JavaMap.put("CSISO159JISX02121990", "JIS0212");
727         fIANA2JavaMap.put("GB18030", "GB18030");
728         fIANA2JavaMap.put("GBK", "GBK");
729         fIANA2JavaMap.put("CP936", "GBK");
730         fIANA2JavaMap.put("MS936", "GBK");
731         fIANA2JavaMap.put("WINDOWS-936", "GBK");
732         fIANA2JavaMap.put("SHIFT_JIS", "SJIS");
733         fIANA2JavaMap.put("CSSHIFTJIS", "SJIS");
734         fIANA2JavaMap.put("MS_KANJI", "SJIS");
735         fIANA2JavaMap.put("WINDOWS-31J", "MS932");
736         fIANA2JavaMap.put("CSWINDOWS31J", "MS932");
737
738         // Add support for Cp1252 and its friends
739
fIANA2JavaMap.put("WINDOWS-1250", "Cp1250");
740         fIANA2JavaMap.put("WINDOWS-1251", "Cp1251");
741         fIANA2JavaMap.put("WINDOWS-1252", "Cp1252");
742         fIANA2JavaMap.put("WINDOWS-1253", "Cp1253");
743         fIANA2JavaMap.put("WINDOWS-1254", "Cp1254");
744         fIANA2JavaMap.put("WINDOWS-1255", "Cp1255");
745         fIANA2JavaMap.put("WINDOWS-1256", "Cp1256");
746         fIANA2JavaMap.put("WINDOWS-1257", "Cp1257");
747         fIANA2JavaMap.put("WINDOWS-1258", "Cp1258");
748         fIANA2JavaMap.put("TIS-620", "TIS620");
749
750         fIANA2JavaMap.put("ISO-8859-1", "ISO8859_1");
751         fIANA2JavaMap.put("ISO-IR-100", "ISO8859_1");
752         fIANA2JavaMap.put("ISO_8859-1", "ISO8859_1");
753         fIANA2JavaMap.put("LATIN1", "ISO8859_1");
754         fIANA2JavaMap.put("CSISOLATIN1", "ISO8859_1");
755         fIANA2JavaMap.put("L1", "ISO8859_1");
756         fIANA2JavaMap.put("IBM819", "ISO8859_1");
757         fIANA2JavaMap.put("CP819", "ISO8859_1");
758
759         fIANA2JavaMap.put("ISO-8859-2", "ISO8859_2");
760         fIANA2JavaMap.put("ISO-IR-101", "ISO8859_2");
761         fIANA2JavaMap.put("ISO_8859-2", "ISO8859_2");
762         fIANA2JavaMap.put("LATIN2", "ISO8859_2");
763         fIANA2JavaMap.put("CSISOLATIN2", "ISO8859_2");
764         fIANA2JavaMap.put("L2", "ISO8859_2");
765
766         fIANA2JavaMap.put("ISO-8859-3", "ISO8859_3");
767         fIANA2JavaMap.put("ISO-IR-109", "ISO8859_3");
768         fIANA2JavaMap.put("ISO_8859-3", "ISO8859_3");
769         fIANA2JavaMap.put("LATIN3", "ISO8859_3");
770         fIANA2JavaMap.put("CSISOLATIN3", "ISO8859_3");
771         fIANA2JavaMap.put("L3", "ISO8859_3");
772
773         fIANA2JavaMap.put("ISO-8859-4", "ISO8859_4");
774         fIANA2JavaMap.put("ISO-IR-110", "ISO8859_4");
775         fIANA2JavaMap.put("ISO_8859-4", "ISO8859_4");
776         fIANA2JavaMap.put("LATIN4", "ISO8859_4");
777         fIANA2JavaMap.put("CSISOLATIN4", "ISO8859_4");
778         fIANA2JavaMap.put("L4", "ISO8859_4");
779
780         fIANA2JavaMap.put("ISO-8859-5", "ISO8859_5");
781         fIANA2JavaMap.put("ISO-IR-144", "ISO8859_5");
782         fIANA2JavaMap.put("ISO_8859-5", "ISO8859_5");
783         fIANA2JavaMap.put("CYRILLIC", "ISO8859_5");
784         fIANA2JavaMap.put("CSISOLATINCYRILLIC", "ISO8859_5");
785
786         fIANA2JavaMap.put("ISO-8859-6", "ISO8859_6");
787         fIANA2JavaMap.put("ISO-IR-127", "ISO8859_6");
788         fIANA2JavaMap.put("ISO_8859-6", "ISO8859_6");
789         fIANA2JavaMap.put("ECMA-114", "ISO8859_6");
790         fIANA2JavaMap.put("ASMO-708", "ISO8859_6");
791         fIANA2JavaMap.put("ARABIC", "ISO8859_6");
792         fIANA2JavaMap.put("CSISOLATINARABIC", "ISO8859_6");
793
794         fIANA2JavaMap.put("ISO-8859-7", "ISO8859_7");
795         fIANA2JavaMap.put("ISO-IR-126", "ISO8859_7");
796         fIANA2JavaMap.put("ISO_8859-7", "ISO8859_7");
797         fIANA2JavaMap.put("ELOT_928", "ISO8859_7");
798         fIANA2JavaMap.put("ECMA-118", "ISO8859_7");
799         fIANA2JavaMap.put("GREEK", "ISO8859_7");
800         fIANA2JavaMap.put("CSISOLATINGREEK", "ISO8859_7");
801         fIANA2JavaMap.put("GREEK8", "ISO8859_7");
802
803         fIANA2JavaMap.put("ISO-8859-8", "ISO8859_8");
804         fIANA2JavaMap.put("ISO-8859-8-I", "ISO8859_8"); // added since this encoding only differs w.r.t. presentation
805
fIANA2JavaMap.put("ISO-IR-138", "ISO8859_8");
806         fIANA2JavaMap.put("ISO_8859-8", "ISO8859_8");
807         fIANA2JavaMap.put("HEBREW", "ISO8859_8");
808         fIANA2JavaMap.put("CSISOLATINHEBREW", "ISO8859_8");
809
810         fIANA2JavaMap.put("ISO-8859-9", "ISO8859_9");
811         fIANA2JavaMap.put("ISO-IR-148", "ISO8859_9");
812         fIANA2JavaMap.put("ISO_8859-9", "ISO8859_9");
813         fIANA2JavaMap.put("LATIN5", "ISO8859_9");
814         fIANA2JavaMap.put("CSISOLATIN5", "ISO8859_9");
815         fIANA2JavaMap.put("L5", "ISO8859_9");
816
817         fIANA2JavaMap.put("ISO-8859-13", "ISO8859_13");
818         
819         fIANA2JavaMap.put("ISO-8859-15", "ISO8859_15_FDIS");
820         fIANA2JavaMap.put("ISO_8859-15", "ISO8859_15_FDIS");
821         fIANA2JavaMap.put("LATIN-9", "ISO8859_15_FDIS");
822
823         fIANA2JavaMap.put("KOI8-R", "KOI8_R");
824         fIANA2JavaMap.put("CSKOI8R", "KOI8_R");
825         fIANA2JavaMap.put("US-ASCII", "ASCII");
826         fIANA2JavaMap.put("ISO-IR-6", "ASCII");
827         fIANA2JavaMap.put("ANSI_X3.4-1968", "ASCII");
828         fIANA2JavaMap.put("ANSI_X3.4-1986", "ASCII");
829         fIANA2JavaMap.put("ISO_646.IRV:1991", "ASCII");
830         fIANA2JavaMap.put("ASCII", "ASCII");
831         fIANA2JavaMap.put("CSASCII", "ASCII");
832         fIANA2JavaMap.put("ISO646-US", "ASCII");
833         fIANA2JavaMap.put("US", "ASCII");
834         fIANA2JavaMap.put("IBM367", "ASCII");
835         fIANA2JavaMap.put("CP367", "ASCII");
836         fIANA2JavaMap.put("UTF-8", "UTF8");
837         fIANA2JavaMap.put("UTF-16", "UTF-16");
838         fIANA2JavaMap.put("UTF-16BE", "UnicodeBig");
839         fIANA2JavaMap.put("UTF-16LE", "UnicodeLittle");
840
841         // support for 1047, as proposed to be added to the
842
// IANA registry in
843
// http://lists.w3.org/Archives/Public/ietf-charset/2002JulSep/0049.html
844
fIANA2JavaMap.put("IBM-1047", "Cp1047");
845         fIANA2JavaMap.put("IBM1047", "Cp1047");
846         fIANA2JavaMap.put("CP1047", "Cp1047");
847
848         // Adding new aliases as proposed in
849
// http://lists.w3.org/Archives/Public/ietf-charset/2002JulSep/0058.html
850
fIANA2JavaMap.put("IBM-37", "CP037");
851         fIANA2JavaMap.put("IBM-273", "CP273");
852         fIANA2JavaMap.put("IBM-277", "CP277");
853         fIANA2JavaMap.put("IBM-278", "CP278");
854         fIANA2JavaMap.put("IBM-280", "CP280");
855         fIANA2JavaMap.put("IBM-284", "CP284");
856         fIANA2JavaMap.put("IBM-285", "CP285");
857         fIANA2JavaMap.put("IBM-290", "CP290");
858         fIANA2JavaMap.put("IBM-297", "CP297");
859         fIANA2JavaMap.put("IBM-420", "CP420");
860         fIANA2JavaMap.put("IBM-424", "CP424");
861         fIANA2JavaMap.put("IBM-437", "CP437");
862         fIANA2JavaMap.put("IBM-500", "CP500");
863         fIANA2JavaMap.put("IBM-775", "CP775");
864         fIANA2JavaMap.put("IBM-850", "CP850");
865         fIANA2JavaMap.put("IBM-852", "CP852");
866         fIANA2JavaMap.put("IBM-855", "CP855");
867         fIANA2JavaMap.put("IBM-857", "CP857");
868         fIANA2JavaMap.put("IBM-858", "CP858");
869         fIANA2JavaMap.put("IBM-860", "CP860");
870         fIANA2JavaMap.put("IBM-861", "CP861");
871         fIANA2JavaMap.put("IBM-862", "CP862");
872         fIANA2JavaMap.put("IBM-863", "CP863");
873         fIANA2JavaMap.put("IBM-864", "CP864");
874         fIANA2JavaMap.put("IBM-865", "CP865");
875         fIANA2JavaMap.put("IBM-866", "CP866");
876         fIANA2JavaMap.put("IBM-868", "CP868");
877         fIANA2JavaMap.put("IBM-869", "CP869");
878         fIANA2JavaMap.put("IBM-870", "CP870");
879         fIANA2JavaMap.put("IBM-871", "CP871");
880         fIANA2JavaMap.put("IBM-918", "CP918");
881         fIANA2JavaMap.put("IBM-924", "CP924");
882         fIANA2JavaMap.put("IBM-1026", "CP1026");
883         fIANA2JavaMap.put("IBM-1140", "Cp1140");
884         fIANA2JavaMap.put("IBM-1141", "Cp1141");
885         fIANA2JavaMap.put("IBM-1142", "Cp1142");
886         fIANA2JavaMap.put("IBM-1143", "Cp1143");
887         fIANA2JavaMap.put("IBM-1144", "Cp1144");
888         fIANA2JavaMap.put("IBM-1145", "Cp1145");
889         fIANA2JavaMap.put("IBM-1146", "Cp1146");
890         fIANA2JavaMap.put("IBM-1147", "Cp1147");
891         fIANA2JavaMap.put("IBM-1148", "Cp1148");
892         fIANA2JavaMap.put("IBM-1149", "Cp1149");
893         fIANA2JavaMap.put("IBM-819", "ISO8859_1");
894         fIANA2JavaMap.put("IBM-367", "ASCII");
895
896         // REVISIT:
897
// j:CNS11643 -> EUC-TW?
898
// ISO-2022-CN? ISO-2022-CN-EXT?
899

900         // add Java to IANA encoding mappings
901
//fJava2IANAMap.put("8859_1", "US-ASCII"); // ?
902
fJava2IANAMap.put("ISO8859_1", "ISO-8859-1");
903         fJava2IANAMap.put("ISO8859_2", "ISO-8859-2");
904         fJava2IANAMap.put("ISO8859_3", "ISO-8859-3");
905         fJava2IANAMap.put("ISO8859_4", "ISO-8859-4");
906         fJava2IANAMap.put("ISO8859_5", "ISO-8859-5");
907         fJava2IANAMap.put("ISO8859_6", "ISO-8859-6");
908         fJava2IANAMap.put("ISO8859_7", "ISO-8859-7");
909         fJava2IANAMap.put("ISO8859_8", "ISO-8859-8");
910         fJava2IANAMap.put("ISO8859_9", "ISO-8859-9");
911         fJava2IANAMap.put("ISO8859_13", "ISO-8859-13");
912         fJava2IANAMap.put("ISO8859_15", "ISO-8859-15");
913         fJava2IANAMap.put("ISO8859_15_FDIS", "ISO-8859-15");
914         fJava2IANAMap.put("Big5", "BIG5");
915         fJava2IANAMap.put("CP037", "EBCDIC-CP-US");
916         fJava2IANAMap.put("CP273", "IBM273");
917         fJava2IANAMap.put("CP277", "EBCDIC-CP-DK");
918         fJava2IANAMap.put("CP278", "EBCDIC-CP-FI");
919         fJava2IANAMap.put("CP280", "EBCDIC-CP-IT");
920         fJava2IANAMap.put("CP284", "EBCDIC-CP-ES");
921         fJava2IANAMap.put("CP285", "EBCDIC-CP-GB");
922         fJava2IANAMap.put("CP290", "EBCDIC-JP-KANA");
923         fJava2IANAMap.put("CP297", "EBCDIC-CP-FR");
924         fJava2IANAMap.put("CP420", "EBCDIC-CP-AR1");
925         fJava2IANAMap.put("CP424", "EBCDIC-CP-HE");
926         fJava2IANAMap.put("CP437", "IBM437");
927         fJava2IANAMap.put("CP500", "EBCDIC-CP-CH");
928         fJava2IANAMap.put("CP775", "IBM775");
929         fJava2IANAMap.put("CP850", "IBM850");
930         fJava2IANAMap.put("CP852", "IBM852");
931         fJava2IANAMap.put("CP855", "IBM855");
932         fJava2IANAMap.put("CP857", "IBM857");
933         fJava2IANAMap.put("CP858", "IBM00858");
934         fJava2IANAMap.put("CP860", "IBM860");
935         fJava2IANAMap.put("CP861", "IBM861");
936         fJava2IANAMap.put("CP862", "IBM862");
937         fJava2IANAMap.put("CP863", "IBM863");
938         fJava2IANAMap.put("CP864", "IBM864");
939         fJava2IANAMap.put("CP865", "IBM865");
940         fJava2IANAMap.put("CP866", "IBM866");
941         fJava2IANAMap.put("CP868", "IBM868");
942         fJava2IANAMap.put("CP869", "IBM869");
943         fJava2IANAMap.put("CP870", "EBCDIC-CP-ROECE");
944         fJava2IANAMap.put("CP871", "EBCDIC-CP-IS");
945         fJava2IANAMap.put("CP918", "EBCDIC-CP-AR2");
946         fJava2IANAMap.put("CP924", "IBM00924");
947         fJava2IANAMap.put("CP1026", "IBM1026");
948         fJava2IANAMap.put("Cp01140", "IBM01140");
949         fJava2IANAMap.put("Cp01141", "IBM01141");
950         fJava2IANAMap.put("Cp01142", "IBM01142");
951         fJava2IANAMap.put("Cp01143", "IBM01143");
952         fJava2IANAMap.put("Cp01144", "IBM01144");
953         fJava2IANAMap.put("Cp01145", "IBM01145");
954         fJava2IANAMap.put("Cp01146", "IBM01146");
955         fJava2IANAMap.put("Cp01147", "IBM01147");
956         fJava2IANAMap.put("Cp01148", "IBM01148");
957         fJava2IANAMap.put("Cp01149", "IBM01149");
958         fJava2IANAMap.put("EUCJIS", "EUC-JP");
959         fJava2IANAMap.put("KS_C_5601-1987", "KS_C_5601-1987");
960         fJava2IANAMap.put("GB2312", "GB2312");
961         fJava2IANAMap.put("ISO2022KR", "ISO-2022-KR");
962         fJava2IANAMap.put("ISO2022CN", "ISO-2022-CN");
963         fJava2IANAMap.put("JIS", "ISO-2022-JP");
964         fJava2IANAMap.put("KOI8_R", "KOI8-R");
965         fJava2IANAMap.put("KSC5601", "EUC-KR");
966         fJava2IANAMap.put("GB18030", "GB18030");
967         fJava2IANAMap.put("GBK", "GBK");
968         fJava2IANAMap.put("SJIS", "SHIFT_JIS");
969         fJava2IANAMap.put("MS932", "WINDOWS-31J");
970         fJava2IANAMap.put("UTF8", "UTF-8");
971         fJava2IANAMap.put("Unicode", "UTF-16");
972         fJava2IANAMap.put("UnicodeBig", "UTF-16BE");
973         fJava2IANAMap.put("UnicodeLittle", "UTF-16LE");
974         fJava2IANAMap.put("JIS0201", "X0201");
975         fJava2IANAMap.put("JIS0208", "X0208");
976         fJava2IANAMap.put("JIS0212", "ISO-IR-159");
977
978         // proposed addition (see above for details):
979
fJava2IANAMap.put("CP1047", "IBM1047");
980
981     } // <clinit>()
982

983     //
984
// Constructors
985
//
986

987     /** Default constructor. */
988     public EncodingMap() {}
989
990     //
991
// Public static methods
992
//
993

994     /**
995      * Adds an IANA to Java encoding name mapping.
996      *
997      * @param ianaEncoding The IANA encoding name.
998      * @param javaEncoding The Java encoding name.
999      */

1000    public static void putIANA2JavaMapping(String JavaDoc ianaEncoding,
1001                                           String JavaDoc javaEncoding) {
1002        fIANA2JavaMap.put(ianaEncoding, javaEncoding);
1003    } // putIANA2JavaMapping(String,String)
1004

1005    /**
1006     * Returns the Java encoding name for the specified IANA encoding name.
1007     *
1008     * @param ianaEncoding The IANA encoding name.
1009     */

1010    public static String JavaDoc getIANA2JavaMapping(String JavaDoc ianaEncoding) {
1011        return (String JavaDoc)fIANA2JavaMap.get(ianaEncoding);
1012    } // getIANA2JavaMapping(String):String
1013

1014    /**
1015     * Removes an IANA to Java encoding name mapping.
1016     *
1017     * @param ianaEncoding The IANA encoding name.
1018     */

1019    public static String JavaDoc removeIANA2JavaMapping(String JavaDoc ianaEncoding) {
1020        return (String JavaDoc)fIANA2JavaMap.remove(ianaEncoding);
1021    } // removeIANA2JavaMapping(String):String
1022

1023    /**
1024     * Adds a Java to IANA encoding name mapping.
1025     *
1026     * @param javaEncoding The Java encoding name.
1027     * @param ianaEncoding The IANA encoding name.
1028     */

1029    public static void putJava2IANAMapping(String JavaDoc javaEncoding,
1030                                           String JavaDoc ianaEncoding) {
1031        fJava2IANAMap.put(javaEncoding, ianaEncoding);
1032    } // putJava2IANAMapping(String,String)
1033

1034    /**
1035     * Returns the IANA encoding name for the specified Java encoding name.
1036     *
1037     * @param javaEncoding The Java encoding name.
1038     */

1039    public static String JavaDoc getJava2IANAMapping(String JavaDoc javaEncoding) {
1040        return (String JavaDoc)fJava2IANAMap.get(javaEncoding);
1041    } // getJava2IANAMapping(String):String
1042

1043    /**
1044     * Removes a Java to IANA encoding name mapping.
1045     *
1046     * @param javaEncoding The Java encoding name.
1047     */

1048    public static String JavaDoc removeJava2IANAMapping(String JavaDoc javaEncoding) {
1049        return (String JavaDoc)fJava2IANAMap.remove(javaEncoding);
1050    } // removeJava2IANAMapping
1051

1052} // class EncodingMap
1053
Popular Tags