1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 package org.apache.xerces.util;
19
20 import java.util.Hashtable;
21
22 /**
23 * EncodingMap is a convenience class which handles conversions between
24 * IANA encoding names and Java encoding names, and vice versa. The
25 * encoding names used in XML instance documents <strong>must</strong>
26 * be the IANA encoding names specified or one of the aliases for those names
27 * which IANA defines.
28 * <p>
29 * <TABLE BORDER="0" WIDTH="100%">
30 * <TR>
31 * <TD WIDTH="33%">
32 * <P ALIGN="CENTER"><B>Common Name</B>
33 * </TD>
34 * <TD WIDTH="15%">
35 * <P ALIGN="CENTER"><B>Use this name in XML files</B>
36 * </TD>
37 * <TD WIDTH="12%">
38 * <P ALIGN="CENTER"><B>Name Type</B>
39 * </TD>
40 * <TD WIDTH="31%">
41 * <P ALIGN="CENTER"><B>Xerces converts to this Java Encoder Name</B>
42 * </TD>
43 * </TR>
44 * <TR>
45 * <TD WIDTH="33%">8 bit Unicode</TD>
46 * <TD WIDTH="15%">
47 * <P ALIGN="CENTER">UTF-8
48 * </TD>
49 * <TD WIDTH="12%">
50 * <P ALIGN="CENTER">IANA
51 * </TD>
52 * <TD WIDTH="31%">
53 * <P ALIGN="CENTER">UTF8
54 * </TD>
55 * </TR>
56 * <TR>
57 * <TD WIDTH="33%">ISO Latin 1</TD>
58 * <TD WIDTH="15%">
59 * <P ALIGN="CENTER">ISO-8859-1
60 * </TD>
61 * <TD WIDTH="12%">
62 * <P ALIGN="CENTER">MIME
63 * </TD>
64 * <TD WIDTH="31%">
65 * <P ALIGN="CENTER">ISO-8859-1
66 * </TD>
67 * </TR>
68 * <TR>
69 * <TD WIDTH="33%">ISO Latin 2</TD>
70 * <TD WIDTH="15%">
71 * <P ALIGN="CENTER">ISO-8859-2
72 * </TD>
73 * <TD WIDTH="12%">
74 * <P ALIGN="CENTER">MIME
75 * </TD>
76 * <TD WIDTH="31%">
77 * <P ALIGN="CENTER">ISO-8859-2
78 * </TD>
79 * </TR>
80 * <TR>
81 * <TD WIDTH="33%">ISO Latin 3</TD>
82 * <TD WIDTH="15%">
83 * <P ALIGN="CENTER">ISO-8859-3
84 * </TD>
85 * <TD WIDTH="12%">
86 * <P ALIGN="CENTER">MIME
87 * </TD>
88 * <TD WIDTH="31%">
89 * <P ALIGN="CENTER">ISO-8859-3
90 * </TD>
91 * </TR>
92 * <TR>
93 * <TD WIDTH="33%">ISO Latin 4</TD>
94 * <TD WIDTH="15%">
95 * <P ALIGN="CENTER">ISO-8859-4
96 * </TD>
97 * <TD WIDTH="12%">
98 * <P ALIGN="CENTER">MIME
99 * </TD>
100 * <TD WIDTH="31%">
101 * <P ALIGN="CENTER">ISO-8859-4
102 * </TD>
103 * </TR>
104 * <TR>
105 * <TD WIDTH="33%">ISO Latin Cyrillic</TD>
106 * <TD WIDTH="15%">
107 * <P ALIGN="CENTER">ISO-8859-5
108 * </TD>
109 * <TD WIDTH="12%">
110 * <P ALIGN="CENTER">MIME
111 * </TD>
112 * <TD WIDTH="31%">
113 * <P ALIGN="CENTER">ISO-8859-5
114 * </TD>
115 * </TR>
116 * <TR>
117 * <TD WIDTH="33%">ISO Latin Arabic</TD>
118 * <TD WIDTH="15%">
119 * <P ALIGN="CENTER">ISO-8859-6
120 * </TD>
121 * <TD WIDTH="12%">
122 * <P ALIGN="CENTER">MIME
123 * </TD>
124 * <TD WIDTH="31%">
125 * <P ALIGN="CENTER">ISO-8859-6
126 * </TD>
127 * </TR>
128 * <TR>
129 * <TD WIDTH="33%">ISO Latin Greek</TD>
130 * <TD WIDTH="15%">
131 * <P ALIGN="CENTER">ISO-8859-7
132 * </TD>
133 * <TD WIDTH="12%">
134 * <P ALIGN="CENTER">MIME
135 * </TD>
136 * <TD WIDTH="31%">
137 * <P ALIGN="CENTER">ISO-8859-7
138 * </TD>
139 * </TR>
140 * <TR>
141 * <TD WIDTH="33%">ISO Latin Hebrew</TD>
142 * <TD WIDTH="15%">
143 * <P ALIGN="CENTER">ISO-8859-8
144 * </TD>
145 * <TD WIDTH="12%">
146 * <P ALIGN="CENTER">MIME
147 * </TD>
148 * <TD WIDTH="31%">
149 * <P ALIGN="CENTER">ISO-8859-8
150 * </TD>
151 * </TR>
152 * <TR>
153 * <TD WIDTH="33%">ISO Latin 5</TD>
154 * <TD WIDTH="15%">
155 * <P ALIGN="CENTER">ISO-8859-9
156 * </TD>
157 * <TD WIDTH="12%">
158 * <P ALIGN="CENTER">MIME
159 * </TD>
160 * <TD WIDTH="31%">
161 * <P ALIGN="CENTER">ISO-8859-9
162 * </TD>
163 * </TR>
164 * <TR>
165 * <TD WIDTH="33%">EBCDIC: US</TD>
166 * <TD WIDTH="15%">
167 * <P ALIGN="CENTER">ebcdic-cp-us
168 * </TD>
169 * <TD WIDTH="12%">
170 * <P ALIGN="CENTER">IANA
171 * </TD>
172 * <TD WIDTH="31%">
173 * <P ALIGN="CENTER">cp037
174 * </TD>
175 * </TR>
176 * <TR>
177 * <TD WIDTH="33%">EBCDIC: Canada</TD>
178 * <TD WIDTH="15%">
179 * <P ALIGN="CENTER">ebcdic-cp-ca
180 * </TD>
181 * <TD WIDTH="12%">
182 * <P ALIGN="CENTER">IANA
183 * </TD>
184 * <TD WIDTH="31%">
185 * <P ALIGN="CENTER">cp037
186 * </TD>
187 * </TR>
188 * <TR>
189 * <TD WIDTH="33%">EBCDIC: Netherlands</TD>
190 * <TD WIDTH="15%">
191 * <P ALIGN="CENTER">ebcdic-cp-nl
192 * </TD>
193 * <TD WIDTH="12%">
194 * <P ALIGN="CENTER">IANA
195 * </TD>
196 * <TD WIDTH="31%">
197 * <P ALIGN="CENTER">cp037
198 * </TD>
199 * </TR>
200 * <TR>
201 * <TD WIDTH="33%">EBCDIC: Denmark</TD>
202 * <TD WIDTH="15%">
203 * <P ALIGN="CENTER">ebcdic-cp-dk
204 * </TD>
205 * <TD WIDTH="12%">
206 * <P ALIGN="CENTER">IANA
207 * </TD>
208 * <TD WIDTH="31%">
209 * <P ALIGN="CENTER">cp277
210 * </TD>
211 * </TR>
212 * <TR>
213 * <TD WIDTH="33%">EBCDIC: Norway</TD>
214 * <TD WIDTH="15%">
215 * <P ALIGN="CENTER">ebcdic-cp-no
216 * </TD>
217 * <TD WIDTH="12%">
218 * <P ALIGN="CENTER">IANA
219 * </TD>
220 * <TD WIDTH="31%">
221 * <P ALIGN="CENTER">cp277
222 * </TD>
223 * </TR>
224 * <TR>
225 * <TD WIDTH="33%">EBCDIC: Finland</TD>
226 * <TD WIDTH="15%">
227 * <P ALIGN="CENTER">ebcdic-cp-fi
228 * </TD>
229 * <TD WIDTH="12%">
230 * <P ALIGN="CENTER">IANA
231 * </TD>
232 * <TD WIDTH="31%">
233 * <P ALIGN="CENTER">cp278
234 * </TD>
235 * </TR>
236 * <TR>
237 * <TD WIDTH="33%">EBCDIC: Sweden</TD>
238 * <TD WIDTH="15%">
239 * <P ALIGN="CENTER">ebcdic-cp-se
240 * </TD>
241 * <TD WIDTH="12%">
242 * <P ALIGN="CENTER">IANA
243 * </TD>
244 * <TD WIDTH="31%">
245 * <P ALIGN="CENTER">cp278
246 * </TD>
247 * </TR>
248 * <TR>
249 * <TD WIDTH="33%">EBCDIC: Italy</TD>
250 * <TD WIDTH="15%">
251 * <P ALIGN="CENTER">ebcdic-cp-it
252 * </TD>
253 * <TD WIDTH="12%">
254 * <P ALIGN="CENTER">IANA
255 * </TD>
256 * <TD WIDTH="31%">
257 * <P ALIGN="CENTER">cp280
258 * </TD>
259 * </TR>
260 * <TR>
261 * <TD WIDTH="33%">EBCDIC: Spain, Latin America</TD>
262 * <TD WIDTH="15%">
263 * <P ALIGN="CENTER">ebcdic-cp-es
264 * </TD>
265 * <TD WIDTH="12%">
266 * <P ALIGN="CENTER">IANA
267 * </TD>
268 * <TD WIDTH="31%">
269 * <P ALIGN="CENTER">cp284
270 * </TD>
271 * </TR>
272 * <TR>
273 * <TD WIDTH="33%">EBCDIC: Great Britain</TD>
274 * <TD WIDTH="15%">
275 * <P ALIGN="CENTER">ebcdic-cp-gb
276 * </TD>
277 * <TD WIDTH="12%">
278 * <P ALIGN="CENTER">IANA
279 * </TD>
280 * <TD WIDTH="31%">
281 * <P ALIGN="CENTER">cp285
282 * </TD>
283 * </TR>
284 * <TR>
285 * <TD WIDTH="33%">EBCDIC: France</TD>
286 * <TD WIDTH="15%">
287 * <P ALIGN="CENTER">ebcdic-cp-fr
288 * </TD>
289 * <TD WIDTH="12%">
290 * <P ALIGN="CENTER">IANA
291 * </TD>
292 * <TD WIDTH="31%">
293 * <P ALIGN="CENTER">cp297
294 * </TD>
295 * </TR>
296 * <TR>
297 * <TD WIDTH="33%">EBCDIC: Arabic</TD>
298 * <TD WIDTH="15%">
299 * <P ALIGN="CENTER">ebcdic-cp-ar1
300 * </TD>
301 * <TD WIDTH="12%">
302 * <P ALIGN="CENTER">IANA
303 * </TD>
304 * <TD WIDTH="31%">
305 * <P ALIGN="CENTER">cp420
306 * </TD>
307 * </TR>
308 * <TR>
309 * <TD WIDTH="33%">EBCDIC: Hebrew</TD>
310 * <TD WIDTH="15%">
311 * <P ALIGN="CENTER">ebcdic-cp-he
312 * </TD>
313 * <TD WIDTH="12%">
314 * <P ALIGN="CENTER">IANA
315 * </TD>
316 * <TD WIDTH="31%">
317 * <P ALIGN="CENTER">cp424
318 * </TD>
319 * </TR>
320 * <TR>
321 * <TD WIDTH="33%">EBCDIC: Switzerland</TD>
322 * <TD WIDTH="15%">
323 * <P ALIGN="CENTER">ebcdic-cp-ch
324 * </TD>
325 * <TD WIDTH="12%">
326 * <P ALIGN="CENTER">IANA
327 * </TD>
328 * <TD WIDTH="31%">
329 * <P ALIGN="CENTER">cp500
330 * </TD>
331 * </TR>
332 * <TR>
333 * <TD WIDTH="33%">EBCDIC: Roece</TD>
334 * <TD WIDTH="15%">
335 * <P ALIGN="CENTER">ebcdic-cp-roece
336 * </TD>
337 * <TD WIDTH="12%">
338 * <P ALIGN="CENTER">IANA
339 * </TD>
340 * <TD WIDTH="31%">
341 * <P ALIGN="CENTER">cp870
342 * </TD>
343 * </TR>
344 * <TR>
345 * <TD WIDTH="33%">EBCDIC: Yugoslavia</TD>
346 * <TD WIDTH="15%">
347 * <P ALIGN="CENTER">ebcdic-cp-yu
348 * </TD>
349 * <TD WIDTH="12%">
350 * <P ALIGN="CENTER">IANA
351 * </TD>
352 * <TD WIDTH="31%">
353 * <P ALIGN="CENTER">cp870
354 * </TD>
355 * </TR>
356 * <TR>
357 * <TD WIDTH="33%">EBCDIC: Iceland</TD>
358 * <TD WIDTH="15%">
359 * <P ALIGN="CENTER">ebcdic-cp-is
360 * </TD>
361 * <TD WIDTH="12%">
362 * <P ALIGN="CENTER">IANA
363 * </TD>
364 * <TD WIDTH="31%">
365 * <P ALIGN="CENTER">cp871
366 * </TD>
367 * </TR>
368 * <TR>
369 * <TD WIDTH="33%">EBCDIC: Urdu</TD>
370 * <TD WIDTH="15%">
371 * <P ALIGN="CENTER">ebcdic-cp-ar2
372 * </TD>
373 * <TD WIDTH="12%">
374 * <P ALIGN="CENTER">IANA
375 * </TD>
376 * <TD WIDTH="31%">
377 * <P ALIGN="CENTER">cp918
378 * </TD>
379 * </TR>
380 * <TR>
381 * <TD WIDTH="33%">Chinese for PRC, mixed 1/2 byte</TD>
382 * <TD WIDTH="15%">
383 * <P ALIGN="CENTER">gb2312
384 * </TD>
385 * <TD WIDTH="12%">
386 * <P ALIGN="CENTER">MIME
387 * </TD>
388 * <TD WIDTH="31%">
389 * <P ALIGN="CENTER">GB2312
390 * </TD>
391 * </TR>
392 * <TR>
393 * <TD WIDTH="33%">Extended Unix Code, packed for Japanese</TD>
394 * <TD WIDTH="15%">
395 * <P ALIGN="CENTER">euc-jp
396 * </TD>
397 * <TD WIDTH="12%">
398 * <P ALIGN="CENTER">MIME
399 * </TD>
400 * <TD WIDTH="31%">
401 * <P ALIGN="CENTER">eucjis
402 * </TD>
403 * </TR>
404 * <TR>
405 * <TD WIDTH="33%">Japanese: iso-2022-jp</TD>
406 * <TD WIDTH="15%">
407 * <P ALIGN="CENTER">iso-2020-jp
408 * </TD>
409 * <TD WIDTH="12%">
410 * <P ALIGN="CENTER">MIME
411 * </TD>
412 * <TD WIDTH="31%">
413 * <P ALIGN="CENTER">JIS
414 * </TD>
415 * </TR>
416 * <TR>
417 * <TD WIDTH="33%">Japanese: Shift JIS</TD>
418 * <TD WIDTH="15%">
419 * <P ALIGN="CENTER">Shift_JIS
420 * </TD>
421 * <TD WIDTH="12%">
422 * <P ALIGN="CENTER">MIME
423 * </TD>
424 * <TD WIDTH="31%">
425 * <P ALIGN="CENTER">SJIS
426 * </TD>
427 * </TR>
428 * <TR>
429 * <TD WIDTH="33%">Chinese: Big5</TD>
430 * <TD WIDTH="15%">
431 * <P ALIGN="CENTER">Big5
432 * </TD>
433 * <TD WIDTH="12%">
434 * <P ALIGN="CENTER">MIME
435 * </TD>
436 * <TD WIDTH="31%">
437 * <P ALIGN="CENTER">Big5
438 * </TD>
439 * </TR>
440 * <TR>
441 * <TD WIDTH="33%">Extended Unix Code, packed for Korean</TD>
442 * <TD WIDTH="15%">
443 * <P ALIGN="CENTER">euc-kr
444 * </TD>
445 * <TD WIDTH="12%">
446 * <P ALIGN="CENTER">MIME
447 * </TD>
448 * <TD WIDTH="31%">
449 * <P ALIGN="CENTER">iso2022kr
450 * </TD>
451 * </TR>
452 * <TR>
453 * <TD WIDTH="33%">Cyrillic</TD>
454 * <TD WIDTH="15%">
455 * <P ALIGN="CENTER">koi8-r
456 * </TD>
457 * <TD WIDTH="12%">
458 * <P ALIGN="CENTER">MIME
459 * </TD>
460 * <TD WIDTH="31%">
461 * <P ALIGN="CENTER">koi8-r
462 * </TD>
463 * </TR>
464 * </TABLE>
465 *
466 * @author TAMURA Kent, IBM
467 * @author Andy Clark, IBM
468 *
469 * @version $Id: EncodingMap.java 447241 2006-09-18 05:12:57Z mrglavas $
470 */
471 public class EncodingMap {
472
473 //
474 // Data
475 //
476
477 /** fIANA2JavaMap */
478 protected final static Hashtable fIANA2JavaMap = new Hashtable();
479
480 /** fJava2IANAMap */
481 protected final static Hashtable fJava2IANAMap = new Hashtable();
482
483 //
484 // Static initialization
485 //
486
487 static {
488
489 // add IANA to Java encoding mappings.
490 fIANA2JavaMap.put("BIG5", "Big5");
491 fIANA2JavaMap.put("CSBIG5", "Big5");
492 fIANA2JavaMap.put("CP037", "CP037");
493 fIANA2JavaMap.put("IBM037", "CP037");
494 fIANA2JavaMap.put("CSIBM037", "CP037");
495 fIANA2JavaMap.put("EBCDIC-CP-US", "CP037");
496 fIANA2JavaMap.put("EBCDIC-CP-CA", "CP037");
497 fIANA2JavaMap.put("EBCDIC-CP-NL", "CP037");
498 fIANA2JavaMap.put("EBCDIC-CP-WT", "CP037");
499 fIANA2JavaMap.put("IBM273", "CP273");
500 fIANA2JavaMap.put("CP273", "CP273");
501 fIANA2JavaMap.put("CSIBM273", "CP273");
502 fIANA2JavaMap.put("IBM277", "CP277");
503 fIANA2JavaMap.put("CP277", "CP277");
504 fIANA2JavaMap.put("CSIBM277", "CP277");
505 fIANA2JavaMap.put("EBCDIC-CP-DK", "CP277");
506 fIANA2JavaMap.put("EBCDIC-CP-NO", "CP277");
507 fIANA2JavaMap.put("IBM278", "CP278");
508 fIANA2JavaMap.put("CP278", "CP278");
509 fIANA2JavaMap.put("CSIBM278", "CP278");
510 fIANA2JavaMap.put("EBCDIC-CP-FI", "CP278");
511 fIANA2JavaMap.put("EBCDIC-CP-SE", "CP278");
512 fIANA2JavaMap.put("IBM280", "CP280");
513 fIANA2JavaMap.put("CP280", "CP280");
514 fIANA2JavaMap.put("CSIBM280", "CP280");
515 fIANA2JavaMap.put("EBCDIC-CP-IT", "CP280");
516 fIANA2JavaMap.put("IBM284", "CP284");
517 fIANA2JavaMap.put("CP284", "CP284");
518 fIANA2JavaMap.put("CSIBM284", "CP284");
519 fIANA2JavaMap.put("EBCDIC-CP-ES", "CP284");
520 fIANA2JavaMap.put("EBCDIC-CP-GB", "CP285");
521 fIANA2JavaMap.put("IBM285", "CP285");
522 fIANA2JavaMap.put("CP285", "CP285");
523 fIANA2JavaMap.put("CSIBM285", "CP285");
524 fIANA2JavaMap.put("EBCDIC-JP-KANA", "CP290");
525 fIANA2JavaMap.put("IBM290", "CP290");
526 fIANA2JavaMap.put("CP290", "CP290");
527 fIANA2JavaMap.put("CSIBM290", "CP290");
528 fIANA2JavaMap.put("EBCDIC-CP-FR", "CP297");
529 fIANA2JavaMap.put("IBM297", "CP297");
530 fIANA2JavaMap.put("CP297", "CP297");
531 fIANA2JavaMap.put("CSIBM297", "CP297");
532 fIANA2JavaMap.put("EBCDIC-CP-AR1", "CP420");
533 fIANA2JavaMap.put("IBM420", "CP420");
534 fIANA2JavaMap.put("CP420", "CP420");
535 fIANA2JavaMap.put("CSIBM420", "CP420");
536 fIANA2JavaMap.put("EBCDIC-CP-HE", "CP424");
537 fIANA2JavaMap.put("IBM424", "CP424");
538 fIANA2JavaMap.put("CP424", "CP424");
539 fIANA2JavaMap.put("CSIBM424", "CP424");
540 fIANA2JavaMap.put("IBM437", "CP437");
541 fIANA2JavaMap.put("437", "CP437");
542 fIANA2JavaMap.put("CP437", "CP437");
543 fIANA2JavaMap.put("CSPC8CODEPAGE437", "CP437");
544 fIANA2JavaMap.put("EBCDIC-CP-CH", "CP500");
545 fIANA2JavaMap.put("IBM500", "CP500");
546 fIANA2JavaMap.put("CP500", "CP500");
547 fIANA2JavaMap.put("CSIBM500", "CP500");
548 fIANA2JavaMap.put("EBCDIC-CP-CH", "CP500");
549 fIANA2JavaMap.put("EBCDIC-CP-BE", "CP500");
550 fIANA2JavaMap.put("IBM775", "CP775");
551 fIANA2JavaMap.put("CP775", "CP775");
552 fIANA2JavaMap.put("CSPC775BALTIC", "CP775");
553 fIANA2JavaMap.put("IBM850", "CP850");
554 fIANA2JavaMap.put("850", "CP850");
555 fIANA2JavaMap.put("CP850", "CP850");
556 fIANA2JavaMap.put("CSPC850MULTILINGUAL", "CP850");
557 fIANA2JavaMap.put("IBM852", "CP852");
558 fIANA2JavaMap.put("852", "CP852");
559 fIANA2JavaMap.put("CP852", "CP852");
560 fIANA2JavaMap.put("CSPCP852", "CP852");
561 fIANA2JavaMap.put("IBM855", "CP855");
562 fIANA2JavaMap.put("855", "CP855");
563 fIANA2JavaMap.put("CP855", "CP855");
564 fIANA2JavaMap.put("CSIBM855", "CP855");
565 fIANA2JavaMap.put("IBM857", "CP857");
566 fIANA2JavaMap.put("857", "CP857");
567 fIANA2JavaMap.put("CP857", "CP857");
568 fIANA2JavaMap.put("CSIBM857", "CP857");
569 fIANA2JavaMap.put("IBM00858", "CP858");
570 fIANA2JavaMap.put("CP00858", "CP858");
571 fIANA2JavaMap.put("CCSID00858", "CP858");
572 fIANA2JavaMap.put("IBM860", "CP860");
573 fIANA2JavaMap.put("860", "CP860");
574 fIANA2JavaMap.put("CP860", "CP860");
575 fIANA2JavaMap.put("CSIBM860", "CP860");
576 fIANA2JavaMap.put("IBM861", "CP861");
577 fIANA2JavaMap.put("861", "CP861");
578 fIANA2JavaMap.put("CP861", "CP861");
579 fIANA2JavaMap.put("CP-IS", "CP861");
580 fIANA2JavaMap.put("CSIBM861", "CP861");
581 fIANA2JavaMap.put("IBM862", "CP862");
582 fIANA2JavaMap.put("862", "CP862");
583 fIANA2JavaMap.put("CP862", "CP862");
584 fIANA2JavaMap.put("CSPC862LATINHEBREW", "CP862");
585 fIANA2JavaMap.put("IBM863", "CP863");
586 fIANA2JavaMap.put("863", "CP863");
587 fIANA2JavaMap.put("CP863", "CP863");
588 fIANA2JavaMap.put("CSIBM863", "CP863");
589 fIANA2JavaMap.put("IBM864", "CP864");
590 fIANA2JavaMap.put("CP864", "CP864");
591 fIANA2JavaMap.put("CSIBM864", "CP864");
592 fIANA2JavaMap.put("IBM865", "CP865");
593 fIANA2JavaMap.put("865", "CP865");
594 fIANA2JavaMap.put("CP865", "CP865");
595 fIANA2JavaMap.put("CSIBM865", "CP865");
596 fIANA2JavaMap.put("IBM866", "CP866");
597 fIANA2JavaMap.put("866", "CP866");
598 fIANA2JavaMap.put("CP866", "CP866");
599 fIANA2JavaMap.put("CSIBM866", "CP866");
600 fIANA2JavaMap.put("IBM868", "CP868");
601 fIANA2JavaMap.put("CP868", "CP868");
602 fIANA2JavaMap.put("CSIBM868", "CP868");
603 fIANA2JavaMap.put("CP-AR", "CP868");
604 fIANA2JavaMap.put("IBM869", "CP869");
605 fIANA2JavaMap.put("CP869", "CP869");
606 fIANA2JavaMap.put("CSIBM869", "CP869");
607 fIANA2JavaMap.put("CP-GR", "CP869");
608 fIANA2JavaMap.put("IBM870", "CP870");
609 fIANA2JavaMap.put("CP870", "CP870");
610 fIANA2JavaMap.put("CSIBM870", "CP870");
611 fIANA2JavaMap.put("EBCDIC-CP-ROECE", "CP870");
612 fIANA2JavaMap.put("EBCDIC-CP-YU", "CP870");
613 fIANA2JavaMap.put("IBM871", "CP871");
614 fIANA2JavaMap.put("CP871", "CP871");
615 fIANA2JavaMap.put("CSIBM871", "CP871");
616 fIANA2JavaMap.put("EBCDIC-CP-IS", "CP871");
617 fIANA2JavaMap.put("IBM918", "CP918");
618 fIANA2JavaMap.put("CP918", "CP918");
619 fIANA2JavaMap.put("CSIBM918", "CP918");
620 fIANA2JavaMap.put("EBCDIC-CP-AR2", "CP918");
621 fIANA2JavaMap.put("IBM00924", "CP924");
622 fIANA2JavaMap.put("CP00924", "CP924");
623 fIANA2JavaMap.put("CCSID00924", "CP924");
624 // is this an error???
625 fIANA2JavaMap.put("EBCDIC-LATIN9--EURO", "CP924");
626 fIANA2JavaMap.put("IBM1026", "CP1026");
627 fIANA2JavaMap.put("CP1026", "CP1026");
628 fIANA2JavaMap.put("CSIBM1026", "CP1026");
629 fIANA2JavaMap.put("IBM01140", "Cp1140");
630 fIANA2JavaMap.put("CP01140", "Cp1140");
631 fIANA2JavaMap.put("CCSID01140", "Cp1140");
632 fIANA2JavaMap.put("IBM01141", "Cp1141");
633 fIANA2JavaMap.put("CP01141", "Cp1141");
634 fIANA2JavaMap.put("CCSID01141", "Cp1141");
635 fIANA2JavaMap.put("IBM01142", "Cp1142");
636 fIANA2JavaMap.put("CP01142", "Cp1142");
637 fIANA2JavaMap.put("CCSID01142", "Cp1142");
638 fIANA2JavaMap.put("IBM01143", "Cp1143");
639 fIANA2JavaMap.put("CP01143", "Cp1143");
640 fIANA2JavaMap.put("CCSID01143", "Cp1143");
641 fIANA2JavaMap.put("IBM01144", "Cp1144");
642 fIANA2JavaMap.put("CP01144", "Cp1144");
643 fIANA2JavaMap.put("CCSID01144", "Cp1144");
644 fIANA2JavaMap.put("IBM01145", "Cp1145");
645 fIANA2JavaMap.put("CP01145", "Cp1145");
646 fIANA2JavaMap.put("CCSID01145", "Cp1145");
647 fIANA2JavaMap.put("IBM01146", "Cp1146");
648 fIANA2JavaMap.put("CP01146", "Cp1146");
649 fIANA2JavaMap.put("CCSID01146", "Cp1146");
650 fIANA2JavaMap.put("IBM01147", "Cp1147");
651 fIANA2JavaMap.put("CP01147", "Cp1147");
652 fIANA2JavaMap.put("CCSID01147", "Cp1147");
653 fIANA2JavaMap.put("IBM01148", "Cp1148");
654 fIANA2JavaMap.put("CP01148", "Cp1148");
655 fIANA2JavaMap.put("CCSID01148", "Cp1148");
656 fIANA2JavaMap.put("IBM01149", "Cp1149");
657 fIANA2JavaMap.put("CP01149", "Cp1149");
658 fIANA2JavaMap.put("CCSID01149", "Cp1149");
659 fIANA2JavaMap.put("EUC-JP", "EUCJIS");
660 fIANA2JavaMap.put("CSEUCPKDFMTJAPANESE", "EUCJIS");
661 fIANA2JavaMap.put("EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", "EUCJIS");
662 fIANA2JavaMap.put("EUC-KR", "KSC5601");
663 fIANA2JavaMap.put("CSEUCKR", "KSC5601");
664 fIANA2JavaMap.put("KS_C_5601-1987", "KS_C_5601-1987");
665 fIANA2JavaMap.put("ISO-IR-149", "KS_C_5601-1987");
666 fIANA2JavaMap.put("KS_C_5601-1989", "KS_C_5601-1987");
667 fIANA2JavaMap.put("KSC_5601", "KS_C_5601-1987");
668 fIANA2JavaMap.put("KOREAN", "KS_C_5601-1987");
669 fIANA2JavaMap.put("CSKSC56011987", "KS_C_5601-1987");
670 fIANA2JavaMap.put("GB2312", "GB2312");
671 fIANA2JavaMap.put("CSGB2312", "GB2312");
672 fIANA2JavaMap.put("ISO-2022-JP", "JIS");
673 fIANA2JavaMap.put("CSISO2022JP", "JIS");
674 fIANA2JavaMap.put("ISO-2022-KR", "ISO2022KR");
675 fIANA2JavaMap.put("CSISO2022KR", "ISO2022KR");
676 fIANA2JavaMap.put("ISO-2022-CN", "ISO2022CN");
677
678 fIANA2JavaMap.put("X0201", "JIS0201");
679 fIANA2JavaMap.put("CSISO13JISC6220JP", "JIS0201");
680 fIANA2JavaMap.put("X0208", "JIS0208");
681 fIANA2JavaMap.put("ISO-IR-87", "JIS0208");
682 fIANA2JavaMap.put("X0208dbiJIS_X0208-1983", "JIS0208");
683 fIANA2JavaMap.put("CSISO87JISX0208", "JIS0208");
684 fIANA2JavaMap.put("X0212", "JIS0212");
685 fIANA2JavaMap.put("ISO-IR-159", "JIS0212");
686 fIANA2JavaMap.put("CSISO159JISX02121990", "JIS0212");
687 fIANA2JavaMap.put("GB18030", "GB18030");
688 fIANA2JavaMap.put("GBK", "GBK");
689 fIANA2JavaMap.put("CP936", "GBK");
690 fIANA2JavaMap.put("MS936", "GBK");
691 fIANA2JavaMap.put("WINDOWS-936", "GBK");
692 fIANA2JavaMap.put("SHIFT_JIS", "SJIS");
693 fIANA2JavaMap.put("CSSHIFTJIS", "SJIS");
694 fIANA2JavaMap.put("MS_KANJI", "SJIS");
695 fIANA2JavaMap.put("WINDOWS-31J", "MS932");
696 fIANA2JavaMap.put("CSWINDOWS31J", "MS932");
697
698 // Add support for Cp1252 and its friends
699 fIANA2JavaMap.put("WINDOWS-1250", "Cp1250");
700 fIANA2JavaMap.put("WINDOWS-1251", "Cp1251");
701 fIANA2JavaMap.put("WINDOWS-1252", "Cp1252");
702 fIANA2JavaMap.put("WINDOWS-1253", "Cp1253");
703 fIANA2JavaMap.put("WINDOWS-1254", "Cp1254");
704 fIANA2JavaMap.put("WINDOWS-1255", "Cp1255");
705 fIANA2JavaMap.put("WINDOWS-1256", "Cp1256");
706 fIANA2JavaMap.put("WINDOWS-1257", "Cp1257");
707 fIANA2JavaMap.put("WINDOWS-1258", "Cp1258");
708 fIANA2JavaMap.put("TIS-620", "TIS620");
709
710 fIANA2JavaMap.put("ISO-8859-1", "ISO8859_1");
711 fIANA2JavaMap.put("ISO-IR-100", "ISO8859_1");
712 fIANA2JavaMap.put("ISO_8859-1", "ISO8859_1");
713 fIANA2JavaMap.put("LATIN1", "ISO8859_1");
714 fIANA2JavaMap.put("CSISOLATIN1", "ISO8859_1");
715 fIANA2JavaMap.put("L1", "ISO8859_1");
716 fIANA2JavaMap.put("IBM819", "ISO8859_1");
717 fIANA2JavaMap.put("CP819", "ISO8859_1");
718
719 fIANA2JavaMap.put("ISO-8859-2", "ISO8859_2");
720 fIANA2JavaMap.put("ISO-IR-101", "ISO8859_2");
721 fIANA2JavaMap.put("ISO_8859-2", "ISO8859_2");
722 fIANA2JavaMap.put("LATIN2", "ISO8859_2");
723 fIANA2JavaMap.put("CSISOLATIN2", "ISO8859_2");
724 fIANA2JavaMap.put("L2", "ISO8859_2");
725
726 fIANA2JavaMap.put("ISO-8859-3", "ISO8859_3");
727 fIANA2JavaMap.put("ISO-IR-109", "ISO8859_3");
728 fIANA2JavaMap.put("ISO_8859-3", "ISO8859_3");
729 fIANA2JavaMap.put("LATIN3", "ISO8859_3");
730 fIANA2JavaMap.put("CSISOLATIN3", "ISO8859_3");
731 fIANA2JavaMap.put("L3", "ISO8859_3");
732
733 fIANA2JavaMap.put("ISO-8859-4", "ISO8859_4");
734 fIANA2JavaMap.put("ISO-IR-110", "ISO8859_4");
735 fIANA2JavaMap.put("ISO_8859-4", "ISO8859_4");
736 fIANA2JavaMap.put("LATIN4", "ISO8859_4");
737 fIANA2JavaMap.put("CSISOLATIN4", "ISO8859_4");
738 fIANA2JavaMap.put("L4", "ISO8859_4");
739
740 fIANA2JavaMap.put("ISO-8859-5", "ISO8859_5");
741 fIANA2JavaMap.put("ISO-IR-144", "ISO8859_5");
742 fIANA2JavaMap.put("ISO_8859-5", "ISO8859_5");
743 fIANA2JavaMap.put("CYRILLIC", "ISO8859_5");
744 fIANA2JavaMap.put("CSISOLATINCYRILLIC", "ISO8859_5");
745
746 fIANA2JavaMap.put("ISO-8859-6", "ISO8859_6");
747 fIANA2JavaMap.put("ISO-IR-127", "ISO8859_6");
748 fIANA2JavaMap.put("ISO_8859-6", "ISO8859_6");
749 fIANA2JavaMap.put("ECMA-114", "ISO8859_6");
750 fIANA2JavaMap.put("ASMO-708", "ISO8859_6");
751 fIANA2JavaMap.put("ARABIC", "ISO8859_6");
752 fIANA2JavaMap.put("CSISOLATINARABIC", "ISO8859_6");
753
754 fIANA2JavaMap.put("ISO-8859-7", "ISO8859_7");
755 fIANA2JavaMap.put("ISO-IR-126", "ISO8859_7");
756 fIANA2JavaMap.put("ISO_8859-7", "ISO8859_7");
757 fIANA2JavaMap.put("ELOT_928", "ISO8859_7");
758 fIANA2JavaMap.put("ECMA-118", "ISO8859_7");
759 fIANA2JavaMap.put("GREEK", "ISO8859_7");
760 fIANA2JavaMap.put("CSISOLATINGREEK", "ISO8859_7");
761 fIANA2JavaMap.put("GREEK8", "ISO8859_7");
762
763 fIANA2JavaMap.put("ISO-8859-8", "ISO8859_8");
764 fIANA2JavaMap.put("ISO-8859-8-I", "ISO8859_8"); // added since this encoding only differs w.r.t. presentation
765 fIANA2JavaMap.put("ISO-IR-138", "ISO8859_8");
766 fIANA2JavaMap.put("ISO_8859-8", "ISO8859_8");
767 fIANA2JavaMap.put("HEBREW", "ISO8859_8");
768 fIANA2JavaMap.put("CSISOLATINHEBREW", "ISO8859_8");
769
770 fIANA2JavaMap.put("ISO-8859-9", "ISO8859_9");
771 fIANA2JavaMap.put("ISO-IR-148", "ISO8859_9");
772 fIANA2JavaMap.put("ISO_8859-9", "ISO8859_9");
773 fIANA2JavaMap.put("LATIN5", "ISO8859_9");
774 fIANA2JavaMap.put("CSISOLATIN5", "ISO8859_9");
775 fIANA2JavaMap.put("L5", "ISO8859_9");
776
777 fIANA2JavaMap.put("ISO-8859-13", "ISO8859_13");
778
779 fIANA2JavaMap.put("ISO-8859-15", "ISO8859_15_FDIS");
780 fIANA2JavaMap.put("ISO_8859-15", "ISO8859_15_FDIS");
781 fIANA2JavaMap.put("LATIN-9", "ISO8859_15_FDIS");
782
783 fIANA2JavaMap.put("KOI8-R", "KOI8_R");
784 fIANA2JavaMap.put("CSKOI8R", "KOI8_R");
785 fIANA2JavaMap.put("US-ASCII", "ASCII");
786 fIANA2JavaMap.put("ISO-IR-6", "ASCII");
787 fIANA2JavaMap.put("ANSI_X3.4-1968", "ASCII");
788 fIANA2JavaMap.put("ANSI_X3.4-1986", "ASCII");
789 fIANA2JavaMap.put("ISO_646.IRV:1991", "ASCII");
790 fIANA2JavaMap.put("ASCII", "ASCII");
791 fIANA2JavaMap.put("CSASCII", "ASCII");
792 fIANA2JavaMap.put("ISO646-US", "ASCII");
793 fIANA2JavaMap.put("US", "ASCII");
794 fIANA2JavaMap.put("IBM367", "ASCII");
795 fIANA2JavaMap.put("CP367", "ASCII");
796 fIANA2JavaMap.put("UTF-8", "UTF8");
797 fIANA2JavaMap.put("UTF-16", "UTF-16");
798 fIANA2JavaMap.put("UTF-16BE", "UnicodeBig");
799 fIANA2JavaMap.put("UTF-16LE", "UnicodeLittle");
800
801 // support for 1047, as proposed to be added to the
802 // IANA registry in
803 // http://lists.w3.org/Archives/Public/ietf-charset/2002JulSep/0049.html
804 fIANA2JavaMap.put("IBM-1047", "Cp1047");
805 fIANA2JavaMap.put("IBM1047", "Cp1047");
806 fIANA2JavaMap.put("CP1047", "Cp1047");
807
808 // Adding new aliases as proposed in
809 // http://lists.w3.org/Archives/Public/ietf-charset/2002JulSep/0058.html
810 fIANA2JavaMap.put("IBM-37", "CP037");
811 fIANA2JavaMap.put("IBM-273", "CP273");
812 fIANA2JavaMap.put("IBM-277", "CP277");
813 fIANA2JavaMap.put("IBM-278", "CP278");
814 fIANA2JavaMap.put("IBM-280", "CP280");
815 fIANA2JavaMap.put("IBM-284", "CP284");
816 fIANA2JavaMap.put("IBM-285", "CP285");
817 fIANA2JavaMap.put("IBM-290", "CP290");
818 fIANA2JavaMap.put("IBM-297", "CP297");
819 fIANA2JavaMap.put("IBM-420", "CP420");
820 fIANA2JavaMap.put("IBM-424", "CP424");
821 fIANA2JavaMap.put("IBM-437", "CP437");
822 fIANA2JavaMap.put("IBM-500", "CP500");
823 fIANA2JavaMap.put("IBM-775", "CP775");
824 fIANA2JavaMap.put("IBM-850", "CP850");
825 fIANA2JavaMap.put("IBM-852", "CP852");
826 fIANA2JavaMap.put("IBM-855", "CP855");
827 fIANA2JavaMap.put("IBM-857", "CP857");
828 fIANA2JavaMap.put("IBM-858", "CP858");
829 fIANA2JavaMap.put("IBM-860", "CP860");
830 fIANA2JavaMap.put("IBM-861", "CP861");
831 fIANA2JavaMap.put("IBM-862", "CP862");
832 fIANA2JavaMap.put("IBM-863", "CP863");
833 fIANA2JavaMap.put("IBM-864", "CP864");
834 fIANA2JavaMap.put("IBM-865", "CP865");
835 fIANA2JavaMap.put("IBM-866", "CP866");
836 fIANA2JavaMap.put("IBM-868", "CP868");
837 fIANA2JavaMap.put("IBM-869", "CP869");
838 fIANA2JavaMap.put("IBM-870", "CP870");
839 fIANA2JavaMap.put("IBM-871", "CP871");
840 fIANA2JavaMap.put("IBM-918", "CP918");
841 fIANA2JavaMap.put("IBM-924", "CP924");
842 fIANA2JavaMap.put("IBM-1026", "CP1026");
843 fIANA2JavaMap.put("IBM-1140", "Cp1140");
844 fIANA2JavaMap.put("IBM-1141", "Cp1141");
845 fIANA2JavaMap.put("IBM-1142", "Cp1142");
846 fIANA2JavaMap.put("IBM-1143", "Cp1143");
847 fIANA2JavaMap.put("IBM-1144", "Cp1144");
848 fIANA2JavaMap.put("IBM-1145", "Cp1145");
849 fIANA2JavaMap.put("IBM-1146", "Cp1146");
850 fIANA2JavaMap.put("IBM-1147", "Cp1147");
851 fIANA2JavaMap.put("IBM-1148", "Cp1148");
852 fIANA2JavaMap.put("IBM-1149", "Cp1149");
853 fIANA2JavaMap.put("IBM-819", "ISO8859_1");
854 fIANA2JavaMap.put("IBM-367", "ASCII");
855
856 // REVISIT:
857 // j:CNS11643 -> EUC-TW?
858 // ISO-2022-CN? ISO-2022-CN-EXT?
859
860 // add Java to IANA encoding mappings
861 //fJava2IANAMap.put("8859_1", "US-ASCII"); // ?
862 fJava2IANAMap.put("ISO8859_1", "ISO-8859-1");
863 fJava2IANAMap.put("ISO8859_2", "ISO-8859-2");
864 fJava2IANAMap.put("ISO8859_3", "ISO-8859-3");
865 fJava2IANAMap.put("ISO8859_4", "ISO-8859-4");
866 fJava2IANAMap.put("ISO8859_5", "ISO-8859-5");
867 fJava2IANAMap.put("ISO8859_6", "ISO-8859-6");
868 fJava2IANAMap.put("ISO8859_7", "ISO-8859-7");
869 fJava2IANAMap.put("ISO8859_8", "ISO-8859-8");
870 fJava2IANAMap.put("ISO8859_9", "ISO-8859-9");
871 fJava2IANAMap.put("ISO8859_13", "ISO-8859-13");
872 fJava2IANAMap.put("ISO8859_15", "ISO-8859-15");
873 fJava2IANAMap.put("ISO8859_15_FDIS", "ISO-8859-15");
874 fJava2IANAMap.put("Big5", "BIG5");
875 fJava2IANAMap.put("CP037", "EBCDIC-CP-US");
876 fJava2IANAMap.put("CP273", "IBM273");
877 fJava2IANAMap.put("CP277", "EBCDIC-CP-DK");
878 fJava2IANAMap.put("CP278", "EBCDIC-CP-FI");
879 fJava2IANAMap.put("CP280", "EBCDIC-CP-IT");
880 fJava2IANAMap.put("CP284", "EBCDIC-CP-ES");
881 fJava2IANAMap.put("CP285", "EBCDIC-CP-GB");
882 fJava2IANAMap.put("CP290", "EBCDIC-JP-KANA");
883 fJava2IANAMap.put("CP297", "EBCDIC-CP-FR");
884 fJava2IANAMap.put("CP420", "EBCDIC-CP-AR1");
885 fJava2IANAMap.put("CP424", "EBCDIC-CP-HE");
886 fJava2IANAMap.put("CP437", "IBM437");
887 fJava2IANAMap.put("CP500", "EBCDIC-CP-CH");
888 fJava2IANAMap.put("CP775", "IBM775");
889 fJava2IANAMap.put("CP850", "IBM850");
890 fJava2IANAMap.put("CP852", "IBM852");
891 fJava2IANAMap.put("CP855", "IBM855");
892 fJava2IANAMap.put("CP857", "IBM857");
893 fJava2IANAMap.put("CP858", "IBM00858");
894 fJava2IANAMap.put("CP860", "IBM860");
895 fJava2IANAMap.put("CP861", "IBM861");
896 fJava2IANAMap.put("CP862", "IBM862");
897 fJava2IANAMap.put("CP863", "IBM863");
898 fJava2IANAMap.put("CP864", "IBM864");
899 fJava2IANAMap.put("CP865", "IBM865");
900 fJava2IANAMap.put("CP866", "IBM866");
901 fJava2IANAMap.put("CP868", "IBM868");
902 fJava2IANAMap.put("CP869", "IBM869");
903 fJava2IANAMap.put("CP870", "EBCDIC-CP-ROECE");
904 fJava2IANAMap.put("CP871", "EBCDIC-CP-IS");
905 fJava2IANAMap.put("CP918", "EBCDIC-CP-AR2");
906 fJava2IANAMap.put("CP924", "IBM00924");
907 fJava2IANAMap.put("CP1026", "IBM1026");
908 fJava2IANAMap.put("CP1140", "IBM01140");
909 fJava2IANAMap.put("CP1141", "IBM01141");
910 fJava2IANAMap.put("CP1142", "IBM01142");
911 fJava2IANAMap.put("CP1143", "IBM01143");
912 fJava2IANAMap.put("CP1144", "IBM01144");
913 fJava2IANAMap.put("CP1145", "IBM01145");
914 fJava2IANAMap.put("CP1146", "IBM01146");
915 fJava2IANAMap.put("CP1147", "IBM01147");
916 fJava2IANAMap.put("CP1148", "IBM01148");
917 fJava2IANAMap.put("CP1149", "IBM01149");
918 fJava2IANAMap.put("EUCJIS", "EUC-JP");
919 fJava2IANAMap.put("KS_C_5601-1987", "KS_C_5601-1987");
920 fJava2IANAMap.put("GB2312", "GB2312");
921 fJava2IANAMap.put("ISO2022KR", "ISO-2022-KR");
922 fJava2IANAMap.put("ISO2022CN", "ISO-2022-CN");
923 fJava2IANAMap.put("JIS", "ISO-2022-JP");
924 fJava2IANAMap.put("KOI8_R", "KOI8-R");
925 fJava2IANAMap.put("KSC5601", "EUC-KR");
926 fJava2IANAMap.put("GB18030", "GB18030");
927 fJava2IANAMap.put("GBK", "GBK");
928 fJava2IANAMap.put("SJIS", "SHIFT_JIS");
929 fJava2IANAMap.put("MS932", "WINDOWS-31J");
930 fJava2IANAMap.put("UTF8", "UTF-8");
931 fJava2IANAMap.put("Unicode", "UTF-16");
932 fJava2IANAMap.put("UnicodeBig", "UTF-16BE");
933 fJava2IANAMap.put("UnicodeLittle", "UTF-16LE");
934 fJava2IANAMap.put("JIS0201", "X0201");
935 fJava2IANAMap.put("JIS0208", "X0208");
936 fJava2IANAMap.put("JIS0212", "ISO-IR-159");
937
938 // proposed addition (see above for details):
939 fJava2IANAMap.put("CP1047", "IBM1047");
940
941 } // <clinit>()
942
943 //
944 // Constructors
945 //
946
947 /** Default constructor. */
948 public EncodingMap() {}
949
950 //
951 // Public static methods
952 //
953
954 /**
955 * Adds an IANA to Java encoding name mapping.
956 *
957 * @param ianaEncoding The IANA encoding name.
958 * @param javaEncoding The Java encoding name.
959 *
960 * @deprecated Use of this method is not recommended. Its
961 * effect is JVM wide and may cause unforeseen behaviour
962 * for other applications running in the system.
963 */
964 public static void putIANA2JavaMapping(String ianaEncoding,
965 String javaEncoding) {
966 fIANA2JavaMap.put(ianaEncoding, javaEncoding);
967 } // putIANA2JavaMapping(String,String)
968
969 /**
970 * Returns the Java encoding name for the specified IANA encoding name.
971 *
972 * @param ianaEncoding The IANA encoding name.
973 */
974 public static String getIANA2JavaMapping(String ianaEncoding) {
975 return (String)fIANA2JavaMap.get(ianaEncoding);
976 } // getIANA2JavaMapping(String):String
977
978 /**
979 * Removes an IANA to Java encoding name mapping.
980 *
981 * @param ianaEncoding The IANA encoding name.
982 *
983 * @deprecated Use of this method is not recommended. Its
984 * effect is JVM wide and may cause unforeseen behaviour
985 * for other applications running in the system.
986 */
987 public static String removeIANA2JavaMapping(String ianaEncoding) {
988 return (String)fIANA2JavaMap.remove(ianaEncoding);
989 } // removeIANA2JavaMapping(String):String
990
991 /**
992 * Adds a Java to IANA encoding name mapping.
993 *
994 * @param javaEncoding The Java encoding name.
995 * @param ianaEncoding The IANA encoding name.
996 *
997 * @deprecated Use of this method is not recommended. Its
998 * effect is JVM wide and may cause unforeseen behaviour
999 * for other applications running in the system.
1000 */
1001 public static void putJava2IANAMapping(String javaEncoding,
1002 String ianaEncoding) {
1003 fJava2IANAMap.put(javaEncoding, ianaEncoding);
1004 } // putJava2IANAMapping(String,String)
1005
1006 /**
1007 * Returns the IANA encoding name for the specified Java encoding name.
1008 *
1009 * @param javaEncoding The Java encoding name.
1010 */
1011 public static String getJava2IANAMapping(String javaEncoding) {
1012 return (String)fJava2IANAMap.get(javaEncoding);
1013 } // getJava2IANAMapping(String):String
1014
1015 /**
1016 * Removes a Java to IANA encoding name mapping.
1017 *
1018 * @param javaEncoding The Java encoding name.
1019 *
1020 * @deprecated Use of this method is not recommended. Its
1021 * effect is JVM wide and may cause unforeseen behaviour
1022 * for other applications running in the system.
1023 */
1024 public static String removeJava2IANAMapping(String javaEncoding) {
1025 return (String)fJava2IANAMap.remove(javaEncoding);
1026 } // removeJava2IANAMapping
1027
1028 } // class EncodingMap