blob: f6b1cb0c6750ab0397ae67e05599a6c2734b8eaa [file] [log] [blame]
J. Duke319a3b92007-12-01 00:00:00 +00001<!--
2 Copyright 2001-2005 Sun Microsystems, Inc. All Rights Reserved.
3 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
5 This code is free software; you can redistribute it and/or modify it
6 under the terms of the GNU General Public License version 2 only, as
7 published by the Free Software Foundation. Sun designates this
8 particular file as subject to the "Classpath" exception as provided
9 by Sun in the LICENSE file that accompanied this code.
10
11 This code is distributed in the hope that it will be useful, but WITHOUT
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 version 2 for more details (a copy is included in the LICENSE file that
15 accompanied this code).
16
17 You should have received a copy of the GNU General Public License version
18 2 along with this work; if not, write to the Free Software Foundation,
19 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
21 Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 CA 95054 USA or visit www.sun.com if you need additional information or
23 have any questions.
24-->
25
26<!doctype html public "-//IETF//DTD HTML//EN">
27<html>
28<body bgcolor="white">
29
30
31Defines charsets, decoders, and encoders, for translating between bytes and
32Unicode characters.
33
34<blockquote><table cellspacing=1 cellpadding=0 summary="Summary of charsets, decoders, and encoders in this package">
35 <tr><th><p align="left">Class name</p></th><th><p align="left">Description</p></th></tr>
36 <tr><td valign=top><tt>{@link java.nio.charset.Charset}</tt></td>
37 <td>A named mapping between characters<br>and bytes</td></tr>
38 <tr><td valign=top><tt>{@link java.nio.charset.CharsetDecoder}</tt></td>
39 <td>Decodes bytes into characters</td></tr>
40 <tr><td valign=top><tt>{@link java.nio.charset.CharsetEncoder}&nbsp;&nbsp;</tt></td>
41 <td>Encodes characters into bytes</td></tr>
42 <tr><td valign=top><tt>{@link java.nio.charset.CoderResult}&nbsp;&nbsp;</tt></td>
43 <td>Describes coder results</td></tr>
44 <tr><td valign=top><tt>{@link java.nio.charset.CodingErrorAction}&nbsp;&nbsp;</tt></td>
45 <td>Describes actions to take when<br>coding errors are detected</td></tr>
46
47</table></blockquote>
48
49<p> A <i>charset</i> is named mapping between sequences of sixteen-bit Unicode
50characters and sequences of bytes, in the sense defined in <a
51href="http://ietf.org/rfc/rfc2278.txt"><i>RFC&nbsp;2278</i></a>. A
52<i>decoder</i> is an engine which transforms bytes in a specific charset into
53characters, and an <i>encoder</i> is an engine which transforms characters into
54bytes. Encoders and decoders operate on byte and character buffers. They are
55collectively referred to as <i>coders</i>.
56
57<p> The {@link java.nio.charset.Charset} class defines methods for creating
58coders for a given charset and for retrieving the various names associated with
59a charset. It also defines static methods for testing whether a particular
60charset is supported, for locating charset instances by name, and for
61constructing a map that contains every charset for which support is available
62in the current Java virtual machine.
63
64<p> Most users will not use these classes directly; instead they will use the
65existing charset-related constructors and methods in the {@link
66java.lang.String} class, together with the existing {@link
67java.io.InputStreamReader} and {@link java.io.OutputStreamWriter} classes, all
68of whose implementations have been reworked to make use of the charset
69facilities defined in this package. A small number of changes have been made
70to the {@link java.io.InputStreamReader} and {@link java.io.OutputStreamWriter}
71classes in order to allow explicit charset objects to be specified in the
72construction of instances of those classes.
73
74<p> Support for new charsets can be made available via the interface defined in
75the {@link java.nio.charset.spi.CharsetProvider} class in the <tt>{@link
76java.nio.charset.spi}</tt> package.
77
78<p> Unless otherwise noted, passing a <tt>null</tt> argument to a constructor
79or method in any class or interface in this package will cause a {@link
80java.lang.NullPointerException NullPointerException} to be thrown.
81
82
83@since 1.4
84@author Mark Reinhold
85@author JSR-51 Expert Group
86
87</body>
88</html>