Java : Charset con ejemplos
Charset (Java SE 22 & JDK 22) en Java con ejemplos.
Encontrará ejemplos de código en la mayoría de los métodos de Charset.
Nota :
- Este artículo puede utilizar software de traducción para su comodidad. Consulte también la versión original en inglés.
Summary
Una asignación con nombre entre secuencias de unidades de código Unicode de dieciséis bits y secuencias de bytes. Esta clase define métodos para crear decodificadores y codificadores y para recuperar los distintos nombres asociados con un conjunto de caracteres. Las instancias de esta clase son inmutables. (Traducción automática)
final var utf8 = StandardCharsets.UTF_8;
System.out.println(utf8); // UTF-8
final var sjis = Charset.forName("Shift_JIS");
System.out.println(sjis); // Shift_JIS
final var text = "abc♪";
System.out.println(text); // abc♪
final var encodedUtf8 = text.getBytes(utf8);
System.out.println(Arrays.toString(encodedUtf8)); // [97, 98, 99, -30, -103, -86]
final var encodedSjis = text.getBytes(sjis);
System.out.println(Arrays.toString(encodedSjis)); // [97, 98, 99, -127, -12]
final var charset = Charset.defaultCharset();
System.out.println(charset); // UTF-8
Constructors
Charset (String canonicalName, String[] aliases)
Inicializa un nuevo conjunto de caracteres con el nombre canónico y el conjunto de alias dados. (Traducción automática)
protected. I think it's rare to create a subclass of this class. Therefore, the code example is omitted.
Methods
final Set<String> aliases ()
Devuelve un conjunto que contiene los alias de este conjunto de caracteres. (Traducción automática)
final var charset = StandardCharsets.UTF_8;
System.out.println(charset); // UTF-8
System.out.println(charset.aliases()); // [unicode-1-1-utf-8, UTF8]
static SortedMap<String,Charset> availableCharsets ()
Construye un mapa ordenado desde nombres de conjuntos de caracteres canónicos hasta objetos de conjuntos de caracteres. (Traducción automática)
final var charsets = Charset.availableCharsets();
for (final var charset : charsets.values()) {
System.out.println(charset);
}
// Result
// ↓
//Big5
//Big5-HKSCS
//CESU-8
//EUC-JP
//EUC-KR
//GB18030
//GB2312
//GBK
//...
//Shift_JIS
//...
//UTF-16
//UTF-16BE
//UTF-16LE
//UTF-32
//UTF-32BE
//UTF-32LE
//UTF-8
//...
boolean canEncode ()
Indica si este conjunto de caracteres admite o no la codificación. (Traducción automática)
final var charset = StandardCharsets.UTF_8;
System.out.println(charset); // UTF-8
System.out.println(charset.canEncode()); // true
final var encoded = charset.encode("abc♪");
System.out.println(encoded); // java.nio.HeapByteBuffer[pos=0 lim=6 cap=9]
final var array = encoded.array();
System.out.println(Arrays.toString(array)); // [97, 98, 99, -30, -103, -86, 0, 0, 0]
final int compareTo (Charset that)
Compara este conjunto de caracteres con otro. (Traducción automática)
final var charset1 = StandardCharsets.UTF_8;
final var charset2 = StandardCharsets.ISO_8859_1;
final var charset3 = StandardCharsets.US_ASCII;
System.out.println(charset1.compareTo(charset1)); // 0
System.out.println(charset1.compareTo(charset2)); // 12
System.out.println(charset1.compareTo(charset3)); // 1
System.out.println(charset2.compareTo(charset3)); // -12
abstract boolean contains (Charset cs)
Indica si este conjunto de caracteres contiene o no el conjunto de caracteres dado. (Traducción automática)
final var utf8 = StandardCharsets.UTF_8;
final var ascii = StandardCharsets.US_ASCII;
System.out.println(utf8.contains(ascii)); // true
System.out.println(ascii.contains(utf8)); // false
final CharBuffer decode (ByteBuffer bb)
Método de conveniencia que decodifica bytes de este conjunto de caracteres en caracteres Unicode. (Traducción automática)
final var charset = StandardCharsets.UTF_8;
System.out.println(charset); // UTF-8
final var encoded = charset.encode("abc♪");
System.out.println(encoded); // java.nio.HeapByteBuffer[pos=0 lim=6 cap=9]
final var array = encoded.array();
System.out.println(Arrays.toString(array)); // [97, 98, 99, -30, -103, -86, 0, 0, 0]
final var decoded = charset.decode(encoded);
System.out.println(decoded); // abc♪
static Charset defaultCharset ()
Devuelve el conjunto de caracteres predeterminado de esta máquina virtual Java. (Traducción automática)
final var charset = Charset.defaultCharset();
System.out.println(charset); // UTF-8
String displayName ()
Devuelve el nombre legible por humanos de este conjunto de caracteres para la configuración regional predeterminada. (Traducción automática)
final var utf8 = StandardCharsets.UTF_8;
System.out.println(utf8.displayName()); // UTF-8
final var ascii = StandardCharsets.US_ASCII;
System.out.println(ascii.displayName()); // US-ASCII
String displayName (Locale locale)
Devuelve el nombre legible por humanos de este conjunto de caracteres para la configuración regional indicada. (Traducción automática)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var charset = StandardCharsets.UTF_8;
System.out.println(charset.displayName()); // UTF-8
System.out.println(charset.displayName(Locale.JAPAN)); // UTF-8
final ByteBuffer encode (String str)
Método de conveniencia que codifica una cadena en bytes en este conjunto de caracteres. (Traducción automática)
final var charset = StandardCharsets.UTF_8;
System.out.println(charset); // UTF-8
final var encoded = charset.encode("abc♪");
System.out.println(encoded); // java.nio.HeapByteBuffer[pos=0 lim=6 cap=9]
final var array = encoded.array();
System.out.println(Arrays.toString(array)); // [97, 98, 99, -30, -103, -86, 0, 0, 0]
final var decoded = charset.decode(encoded);
System.out.println(decoded); // abc♪
final ByteBuffer encode (CharBuffer cb)
Método de conveniencia que codifica caracteres Unicode en bytes en este conjunto de caracteres. (Traducción automática)
final var charset = StandardCharsets.UTF_8;
System.out.println(charset); // UTF-8
final var cb = CharBuffer.wrap("abc♪");
final var encoded = charset.encode(cb);
System.out.println(encoded); // java.nio.HeapByteBuffer[pos=0 lim=6 cap=9]
final var array = encoded.array();
System.out.println(Arrays.toString(array)); // [97, 98, 99, -30, -103, -86, 0, 0, 0]
final var decoded = charset.decode(encoded);
System.out.println(decoded); // abc♪
final boolean equals (Object ob)
Indica si este objeto es igual o no a otro. (Traducción automática)
final var charset1 = StandardCharsets.UTF_8;
final var charset2 = StandardCharsets.US_ASCII;
System.out.println(charset1.equals(charset1)); // true
System.out.println(charset1.equals(charset2)); // false
static Charset forName (String charsetName)
Devuelve un objeto de conjunto de caracteres para el conjunto de caracteres nombrado. (Traducción automática)
final var utf8 = Charset.forName("UTF-8");
System.out.println(utf8); // UTF-8
System.out.println(utf8.equals(StandardCharsets.UTF_8)); // true
final var sjis = Charset.forName("Shift_JIS");
System.out.println(sjis); // Shift_JIS
static Charset forName (String charsetName, Charset fallback)
Devuelve un objeto de conjunto de caracteres para el conjunto de caracteres nombrado. (Traducción automática)
final var charset = Charset.forName("UTF-8", StandardCharsets.US_ASCII);
System.out.println(charset); // UTF-8
final var charset = Charset.forName("xxx", StandardCharsets.US_ASCII);
System.out.println(charset); // US-ASCII
final int hashCode ()
Devuelve el código hash para este conjunto de caracteres. (Traducción automática)
final var charset = StandardCharsets.UTF_8;
System.out.println(charset.hashCode()); // 81070450
final var charset = StandardCharsets.UTF_16;
System.out.println(charset.hashCode()); // -1781783509
final var charset = StandardCharsets.US_ASCII;
System.out.println(charset.hashCode()); // -185735358
final boolean isRegistered ()
Indica si este conjunto de caracteres está registrado o no en el Registro de conjuntos de caracteres de la IANA. (Traducción automática)
final var charset = StandardCharsets.UTF_8;
System.out.println(charset); // UTF-8
System.out.println(charset.isRegistered()); // true
final var charset = Charset.forName("x-windows-50220");
System.out.println(charset); // x-windows-50220
System.out.println(charset.isRegistered()); // false
static boolean isSupported (String charsetName)
Indica si el conjunto de caracteres nombrado es compatible. (Traducción automática)
System.out.println(Charset.isSupported("UTF-8")); // true
System.out.println(Charset.isSupported("US-ASCII")); // true
System.out.println(Charset.isSupported("Shift_JIS")); // true
System.out.println(Charset.isSupported("xxx")); // false
final String name ()
Devuelve el nombre canónico de este conjunto de caracteres. (Traducción automática)
final var charset = StandardCharsets.UTF_8;
System.out.println(charset.name()); // UTF-8
final var charset = StandardCharsets.US_ASCII;
System.out.println(charset.name()); // US-ASCII
final var charset = Charset.forName("Shift_JIS");
System.out.println(charset.name()); // Shift_JIS
abstract CharsetDecoder newDecoder ()
Construye un nuevo decodificador para este conjunto de caracteres. (Traducción automática)
final var charset = StandardCharsets.UTF_8;
System.out.println(charset); // UTF-8
final var encoder = charset.newEncoder();
final var decoder = charset.newDecoder();
final var cb = CharBuffer.wrap("abc♪");
final var encoded = encoder.encode(cb);
System.out.println(encoded); // java.nio.HeapByteBuffer[pos=0 lim=6 cap=9]
final var array = encoded.array();
System.out.println(Arrays.toString(array)); // [97, 98, 99, -30, -103, -86, 0, 0, 0]
final var decoded = decoder.decode(encoded);
System.out.println(decoded); // abc♪
abstract CharsetEncoder newEncoder ()
Construye un nuevo codificador para este conjunto de caracteres. (Traducción automática)
final var charset = StandardCharsets.UTF_8;
System.out.println(charset); // UTF-8
final var encoder = charset.newEncoder();
final var decoder = charset.newDecoder();
final var cb = CharBuffer.wrap("abc♪");
final var encoded = encoder.encode(cb);
System.out.println(encoded); // java.nio.HeapByteBuffer[pos=0 lim=6 cap=9]
final var array = encoded.array();
System.out.println(Arrays.toString(array)); // [97, 98, 99, -30, -103, -86, 0, 0, 0]
final var decoded = decoder.decode(encoded);
System.out.println(decoded); // abc♪
final String toString ()
Devuelve una cadena que describe este conjunto de caracteres. (Traducción automática)
final var charset = StandardCharsets.UTF_8;
final var ret = charset.toString();
System.out.println(ret); // UTF-8
final var charset = StandardCharsets.US_ASCII;
final var ret = charset.toString();
System.out.println(ret); // US-ASCII
final var charset = Charset.forName("Shift_JIS");
final var ret = charset.toString();
System.out.println(ret); // Shift_JIS