Charset Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Asignación con nombre entre secuencias de unidades de código Unicode de dieciséis bits y secuencias de bytes.
[Android.Runtime.Register("java/nio/charset/Charset", DoNotGenerateAcw=true)]
public abstract class Charset : Java.Lang.Object, IDisposable, Java.Lang.IComparable
[<Android.Runtime.Register("java/nio/charset/Charset", DoNotGenerateAcw=true)>]
type Charset = class
inherit Object
interface IComparable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Herencia
- Atributos
- Implementaciones
Comentarios
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 descodificadores y codificadores y para recuperar los distintos nombres asociados a un conjunto de caracteres. Las instancias de esta clase son inmutables.
Esta clase también define métodos estáticos para probar si se admite un conjunto de caracteres determinado, para buscar instancias de conjunto de caracteres por nombre y para construir un mapa que contenga cada conjunto de caracteres para el que la compatibilidad esté disponible en la máquina virtual Java actual. La compatibilidad con nuevos conjuntos de caracteres se puede agregar a través de la interfaz de proveedor de servicios definida en la java.nio.charset.spi.CharsetProvider clase .
Todos los métodos definidos en esta clase son seguros para su uso por varios subprocesos simultáneos.
"charenc"><h2>Charset names</h2>
Los conjuntos de caracteres se denominan mediante cadenas compuestas por los caracteres siguientes:
<ul>
<li> Las letras mayúsculas 'A' a través 'Z' de ('\u0041' through '\u005a'),
<li> Las letras minúsculas 'a' a través 'z' de ('\u0061' through '\u007a'),
<li> Los dígitos '0' a través '9' ('\u0030' through '\u0039'),
<li> El carácter '-' de guión ('\u002d', <guion pequeño>menos</pequeño>),
<li> El carácter '+' más ('\u002b', <small>PLUS SIGN</small>),
<li> El carácter '.' de punto ('\u002e', <small>FULL STOP</small>),
<li> El carácter ':' de dos puntos ('\u003a', <colon> pequeño/pequeño<>) y
<li> El carácter '_' de subrayado ('\u005f', <small>LOW LINE</small>).
</ul>
Un nombre de conjunto de caracteres debe comenzar con una letra o un dígito. La cadena vacía no es un nombre de conjunto de caracteres legal. Los nombres de conjunto de caracteres no distinguen mayúsculas de minúsculas; es decir, siempre se omite el caso al comparar nombres de conjunto de caracteres. Los nombres de conjunto de caracteres generalmente siguen las convenciones documentadas en RFC 2278: Procedimientos de registro de conjunto de caractereshttp://www.ietf.org/rfc/rfc2278.txt de IANA.
Cada conjunto de caracteres tiene un nombre canónico y también puede tener uno o varios alias. El nombre canónico lo devuelve el #name() name método de esta clase. Los nombres canónicos son, por convención, normalmente en mayúsculas. El método devuelve #aliases() aliases los alias de un conjunto de caracteres.
"hn">Algunos conjuntos de caracteres tienen un <>nombre< histórico i> que se define para la compatibilidad con versiones anteriores de la plataforma Java. El nombre histórico de un conjunto de caracteres es su nombre canónico o uno de sus alias. Los métodos de las getEncoding() clases y java.io.InputStreamReader#getEncoding InputStreamReader devuelven el java.io.OutputStreamWriter#getEncoding OutputStreamWriter nombre histórico.
"iana"> Si un conjunto de caracteres enumerado en el Registrohttp://www.iana.org/assignments/character-sets de conjuntos de caracteres de IANA es compatible con una implementación de la plataforma Java, su nombre canónico debe ser el nombre que aparece en el Registro. A muchos conjuntos de caracteres se les asigna más de un nombre en el registro, en cuyo caso el registro identifica uno de los nombres como MIME preferido. Si un conjunto de caracteres tiene más de un nombre de registro, su nombre canónico debe ser el nombre preferido de MIME y los demás nombres del registro deben ser alias válidos. Si un conjunto de caracteres "X-" admitido no aparece en el registro de IANA, su nombre canónico debe comenzar por una de las cadenas o "x-".
El registro de conjuntos de caracteres de IANA cambia con el tiempo, por lo que el nombre canónico y los alias de un conjunto de caracteres determinado también pueden cambiar con el tiempo. Para garantizar la compatibilidad, se recomienda que no se quite ningún alias de un conjunto de caracteres y que, si se cambia el nombre canónico de un conjunto de caracteres, su nombre canónico anterior se convierte en un alias.
<h2>Conjuntos de caracteres< estándar/h2>
"estándar">Cada implementación de la plataforma Java es necesaria para admitir los siguientes conjuntos de caracteres estándar. Consulte la documentación de la versión de la implementación para ver si se admiten otros conjuntos de caracteres. El comportamiento de estos conjuntos de caracteres opcionales puede diferir entre las implementaciones.
<blockquote><table class="striped" style="width:80%"><caption style="display:none">Description of standard charsets</caption><thead><tr><th scope="col" style="text-align:left">Charset</th><scope="col" style="text-align:left">Description</th></tr></thead><tbody><tr><th scope="row" style="vertical-align:top">US-ASCII</th><td>Seven-bit ASCII, a.k.a. ISO646-US, a.k.a. el bloque latino básico del juego< de caracteres Unicode/td></tr tr><><th scope="row" style="vertical-align:top">ISO-8859-1 </th><td>ISO Latin Alphabet No. 1, a.k.a. ISO-LATIN-1</td></tr tr><><th scope="row" style="vertical-align:top">UTF-8</th><td>UCS Transformation Format</td></tr tr tr><><th scope="row" style="vertical-align:top">UTF-16BE</th><td td>UCS Transformation Format, big-endian byte order</td></tr tr><><th scope="row" style="vertical-align:top">UTF-16LE</th><td>UCS Transformation Format, little-endian byte order</td></tr tr><><th scope="row" style="vertical-align:top">UTF-16</th td>th<>UCS Transformation Format, byte orden identificado por una marca< de orden de bytes opcional/td></tr></tbody></table></blockquote>
El UTF-8 conjunto de caracteres se especifica mediante RFC 2279http://www.ietf.org/rfc/rfc2279.txt; el formato de transformación sobre el que se basa se especifica en enmienda 2 de ISO 10646-1 y también se describe en el estándarhttp://www.unicode.org/unicode/standard/standard.html Unicode.
Los UTF-16 conjuntos de caracteres se especifican mediante RFC 2781http://www.ietf.org/rfc/rfc2781.txt; los formatos de transformación sobre los que se basan se especifican en enmienda 1 de ISO 10646-1 y también se describen en el estándarhttp://www.unicode.org/unicode/standard/standard.html Unicode.
Los UTF-16 conjuntos de caracteres usan cantidades de dieciséis bits y, por tanto, son sensibles al orden de bytes. En estas codificaciones, el orden de bytes de una secuencia puede indicarse mediante una marca inicial de orden de bytes representada por el carácter '\uFEFF'Unicode . Las marcas de orden de bytes se controlan de la siguiente manera:
<ul>
<li>
Al descodificar, los UTF-16BE conjuntos de caracteres y UTF-16LE interpretan las marcas de orden de bytes iniciales como un <pequeño>ZERO-WIDTH NON-BREAKING SPACE</small>; al codificar, no escriben marcas de orden de bytes.
</li>
<li>
Al descodificar, el UTF-16 conjunto de caracteres interpreta la marca de orden de bytes al principio de la secuencia de entrada para indicar el orden de bytes de la secuencia, pero el valor predeterminado es big-endian si no hay ninguna marca de orden de bytes; al codificar, usa el orden de bytes big-endian y escribe una marca de orden de bytes big-endian.
</li>
</ul>
En cualquier caso, las marcas de orden de bytes que se producen después del primer elemento de una secuencia de entrada no se omiten, ya que se usa el mismo código para representar <pequeños>ZERO-WIDTH NON-BREAKING SPACE</small>.
Nota de Android: el valor predeterminado de la plataforma Android es siempre UTF-8.
La StandardCharsets clase define constantes para cada uno de los conjuntos de caracteres estándar.
<h2>Terminología</h2>
El nombre de esta clase se toma de los términos utilizados en RFC 2278http://www.ietf.org/rfc/rfc2278.txt. En ese documento, un conjunto de caracteres se define como la combinación de uno o varios juegos de caracteres codificados y un esquema de codificación de caracteres. (Esta definición es confusa; otros sistemas de software definen charset como sinónimo de juego de caracteres codificados).
Un juego de caracteres codificado es una asignación entre un conjunto de caracteres abstractos y un conjunto de enteros. US-ASCII, ISO 8859-1, JIS X 0201 y Unicode son ejemplos de juegos de caracteres codificados.
Algunos estándares han definido un juego de caracteres para que sea simplemente un conjunto de caracteres abstractos sin una numeración asignada asociada. Un alfabeto es un ejemplo de este juego de caracteres. Sin embargo, la distinción sutil entre el juego de caracteres y el juego de caracteres codificados rara vez se usa en la práctica; el primero se ha convertido en una forma abreviada para este último, incluida en la especificación de api de Java.
Un esquema de codificación de caracteres es una asignación entre uno o varios conjuntos de caracteres codificados y un conjunto de secuencias de octetos (bytes de ocho bits). UTF-8, UTF-16, ISO 2022 y EUC son ejemplos de esquemas de codificación de caracteres. Los esquemas de codificación suelen estar asociados a un juego de caracteres codificado determinado; UTF-8, por ejemplo, solo se usa para codificar Unicode. Sin embargo, algunos esquemas están asociados a varios juegos de caracteres codificados; EUC, por ejemplo, se puede usar para codificar caracteres en una variedad de conjuntos de caracteres codificados asiáticos.
Cuando se usa un juego de caracteres codificado exclusivamente con un único esquema de codificación de caracteres, el conjunto de caracteres correspondiente se suele denominar para el juego de caracteres codificado; De lo contrario, se suele denominar un conjunto de caracteres para el esquema de codificación y, posiblemente, la configuración regional de los conjuntos de caracteres codificados que admite. Por lo tanto US-ASCII , es el nombre de un juego de caracteres codificado y del conjunto de caracteres que lo codifica, mientras EUC-JP que es el nombre del conjunto de caracteres que codifica el JIS X 0201, JIS X 0208 y JIS X 0212 juegos de caracteres codificados para el idioma japonés.
La codificación de caracteres nativos del lenguaje de programación Java es UTF-16. Un conjunto de caracteres de la plataforma Java define, por tanto, una asignación entre secuencias de unidades de código UTF-16 de dieciséis bits (es decir, secuencias de caracteres) y secuencias de bytes.
Agregado en la versión 1.4.
Java documentación para java.nio.charset.Charset.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Constructores
| Nombre | Description |
|---|---|
| Charset(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
| Charset(String, String[]) |
Inicializa un nuevo conjunto de caracteres con el nombre canónico y el conjunto de alias especificados. |
Propiedades
| Nombre | Description |
|---|---|
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| IsRegistered |
Indica si este conjunto de caracteres está registrado en el Registro de conjuntos de caracteres de IANA. |
| JniIdentityHashCode |
Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| JniManagedPeerState |
Asignación con nombre entre secuencias de unidades de código Unicode de dieciséis bits y secuencias de bytes. (Heredado de JavaObject) |
| JniPeerMembers |
Obtiene los metadatos de JNI usados para invocar miembros de este Java del mismo nivel. |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
| ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
Métodos
| Nombre | Description |
|---|---|
| Aliases() |
Devuelve un conjunto que contiene los alias de este conjunto de caracteres. |
| AvailableCharsets() |
Construye un mapa ordenado de nombres de conjuntos de caracteres canónicos a objetos charset. |
| CanEncode() |
Indica si este conjunto de caracteres admite o no codificación. |
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
| CompareTo(Charset) |
Compara este conjunto de caracteres con otro. |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Asignación con nombre entre secuencias de unidades de código Unicode de dieciséis bits y secuencias de bytes. (Heredado de JavaObject) |
| Contains(Charset) |
Indica si este conjunto de caracteres contiene o no el conjunto de caracteres especificado. |
| Decode(ByteBuffer) |
Método de conveniencia que descodifica bytes de este conjunto de caracteres en caracteres Unicode. |
| DefaultCharset() |
Devuelve el conjunto de caracteres predeterminado de esta máquina virtual Java. |
| DisplayName() |
Devuelve el nombre legible de este conjunto de caracteres para la configuración regional predeterminada. |
| DisplayName(Locale) |
Devuelve el nombre legible de este conjunto de caracteres para la configuración regional especificada. |
| Dispose() |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dispose(Boolean) |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| DisposeUnlessReferenced() |
Asignación con nombre entre secuencias de unidades de código Unicode de dieciséis bits y secuencias de bytes. (Heredado de JavaObject) |
| Encode(CharBuffer) |
Método de conveniencia que codifica caracteres Unicode en bytes en este conjunto de caracteres. |
| Encode(String) |
Método de conveniencia que codifica una cadena en bytes en este conjunto de caracteres. |
| Equals(Object) |
Indica si este objeto es igual o no a otro. |
| Equals(Object) |
Asignación con nombre entre secuencias de unidades de código Unicode de dieciséis bits y secuencias de bytes. (Heredado de JavaObject) |
| ForName(String, Charset) |
Devuelve un objeto charset para el conjunto de caracteres con nombre. |
| ForName(String) |
Devuelve un objeto charset para el conjunto de caracteres con nombre. |
| GetHashCode() |
Calcula un código hash para este conjunto de caracteres. |
| IsSupported(String) |
Indica si se admite el conjunto de caracteres con nombre. |
| JavaFinalize() |
Obsoletos.
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
| Name() |
Devuelve el nombre canónico de este conjunto de caracteres. |
| NewDecoder() |
Construye un nuevo descodificador para este conjunto de caracteres. |
| NewEncoder() |
Construye un nuevo codificador para este conjunto de caracteres. |
| Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
| NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Asignación con nombre entre secuencias de unidades de código Unicode de dieciséis bits y secuencias de bytes. (Heredado de JavaObject) |
| ToArray<T>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToString() |
Devuelve una cadena que describe este conjunto de caracteres. |
| UnregisterFromRuntime() |
Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| Wait() |
Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><> (Heredado de Object) |
| Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
| Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IComparable.CompareTo(Object) |
Compara este conjunto de caracteres con otro conjunto de caracteres por nombre canónico, ignorando mayúsculas y minúsculas. |
| IJavaPeerable.Disposed() |
Asignación con nombre entre secuencias de unidades de código Unicode de dieciséis bits y secuencias de bytes. (Heredado de JavaObject) |
| IJavaPeerable.Finalized() |
Asignación con nombre entre secuencias de unidades de código Unicode de dieciséis bits y secuencias de bytes. (Heredado de JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Asignación con nombre entre secuencias de unidades de código Unicode de dieciséis bits y secuencias de bytes. (Heredado de JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Asignación con nombre entre secuencias de unidades de código Unicode de dieciséis bits y secuencias de bytes. (Heredado de JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Asignación con nombre entre secuencias de unidades de código Unicode de dieciséis bits y secuencias de bytes. (Heredado de JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Asignación con nombre entre secuencias de unidades de código Unicode de dieciséis bits y secuencias de bytes. (Heredado de JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
Asignación con nombre entre secuencias de unidades de código Unicode de dieciséis bits y secuencias de bytes. |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
Asignación con nombre entre secuencias de unidades de código Unicode de dieciséis bits y secuencias de bytes. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |