Idioma

Charset Classe

Definição

Um mapeamento nomeado entre sequências de unidades de código Unicode de dezesseis bits e sequências 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
Herança
Atributos
Implementações

Comentários

Um mapeamento nomeado entre sequências de unidades de código Unicode de dezesseis bits e sequências de bytes. Essa classe define métodos para criar decodificadores e codificadores e para recuperar os vários nomes associados a um conjunto de caracteres. As instâncias dessa classe são imutáveis.

Essa classe também define métodos estáticos para testar se há suporte para um conjunto de caracteres específico, para localizar instâncias de charset por nome e para construir um mapa que contém cada conjunto de caracteres para o qual o suporte está disponível no Java máquina virtual atual. O suporte para novos conjuntos de caracteres pode ser adicionado por meio da interface do provedor de serviços definida na java.nio.charset.spi.CharsetProvider classe.

Todos os métodos definidos nessa classe são seguros para uso por vários threads simultâneos.

"charenc"><h2>Charset names</h2>

Os conjuntos de caracteres são nomeados por cadeias de caracteres compostas pelos seguintes caracteres:

<ul>

<li> As letras maiúsculas 'A' por ('Z''&#92;u0041'  por meio de  '&#92;u005a'),

<li> As letras 'a' minúsculas por ('z''&#92;u0061'  por meio de  '&#92;u007a'),

<li> Os dígitos '0' por meio '9' ('&#92;u0030'  por meio de  '&#92;u0039'),

<li> O caractere '-' de traço ('&#92;u002d', <pequeno>HYPHEN-MINUS</small>),

<li> O caractere '+' de adição ('&#92;u002b', <pequeno>SINAL DE< ADIÇÃO/pequeno>),

<li> O caractere '.' de período ('&#92;u002e', <pequeno>FULL STOP</small>),

<li> O caractere ':' de dois-pontos ('&#92;u003a', <colon> pequeno</pequeno>) e

<li> O caractere de sublinhado '_' ('&#92;u005f', <small>LOW  LINHA</pequeno>).

</ul>

Um nome de conjunto de caracteres deve começar com uma letra ou um dígito. A cadeia de caracteres vazia não é um nome de conjunto de caracteres legal. Os nomes de conjunto de caracteres não diferenciam maiúsculas de minúsculas; ou seja, o caso sempre é ignorado ao comparar nomes de conjunto de caracteres. Os nomes de conjunto de caracteres geralmente seguem as convenções documentadas em RFC  2278:  Procedimentos de registro de charset IANA.http://www.ietf.org/rfc/rfc2278.txt

Cada conjunto de caracteres tem um nome canônico e também pode ter um ou mais aliases. O nome canônico é retornado pelo #name() name método dessa classe. Os nomes canônicos são, por convenção, geralmente em maiúsculas e minúsculas. Os aliases de um conjunto de caracteres são retornados pelo #aliases() aliases método.

"hn">Alguns conjuntos de caracteres têm um<> i nome</i> histórico definido para compatibilidade com versões anteriores da plataforma Java. O nome histórico de um conjunto de caracteres é seu nome canônico ou um de seus aliases. O nome histórico é retornado pelos getEncoding() métodos e java.io.InputStreamReader#getEncoding InputStreamReaderjava.io.OutputStreamWriter#getEncoding OutputStreamWriter classes.

"iana"> Se um conjunto de caracteres listado no Registro de http://www.iana.org/assignments/character-sets tiver suporte por uma implementação da plataforma Java, seu nome canônico deverá ser o nome listado no registro. Muitos conjuntos de caracteres recebem mais de um nome no registro, nesse caso, o Registro identifica um dos nomes como mime-preferred. Se um conjunto de caracteres tiver mais de um nome de registro, seu nome canônico deverá ser o nome preferencial mime e os outros nomes no registro deverão ser aliases válidos. Se um conjunto de caracteres com suporte não estiver listado no registro IANA, seu nome canônico deverá começar com uma das cadeias de caracteres "X-" ou "x-".

O registro de conjunto de caracteres IANA muda ao longo do tempo e, portanto, o nome canônico e os aliases de um conjunto de caracteres específico também podem ser alterados ao longo do tempo. Para garantir a compatibilidade, é recomendável que nenhum alias seja removido de um conjunto de caracteres e que, se o nome canônico de um conjunto de caracteres for alterado, seu nome canônico anterior será transformado em um alias.

<h2>Conjuntos de caracteres< padrão/h2>

"padrão">Todas as implementações da plataforma Java são necessárias para dar suporte aos seguintes conjuntos de caracteres padrão. Consulte a documentação de versão da implementação para ver se há suporte para outros conjuntos de caracteres. O comportamento desses conjuntos de caracteres opcionais pode diferir entre implementações.

<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 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, também conhecido como ISO646-US, também conhecido como o bloco latino básico do conjunto< de caracteres Unicode/td></tr><tr><th scope="row" style="vertical-align:top">ISO-8859-1&nbsp;&nbsp;</th><td>ISO Latin Alphabet No. 1, também conhecido como. ISO-LATIN-1</td></tr><tr><th scope="row" style="vertical-align:top">UTF-8</th><td>Formato de transformação< UCS de oito bits/td></tr><tr><th scope="row" style="vertical-align:top">UTF-16BE</th><td>Sixteen-bit UCS Transformation Format, big-endian byte  order</td></tr><tr><th scope="row" style="vertical-align:top">UTF-16LE</th><td>Sixteen-bit UCS Transformation Format, little-endian byte  order</td></tr><tr><th scope="row" style="vertical-align:top">UTF-16</th><td>Sixteen-bit UCS Transformation Format, byte  ordem identificada por uma marca< de ordem de byte opcional/td></tr></tbody></table></blockquote>

O UTF-8 conjunto de caracteres é especificado por RFC  2279http://www.ietf.org/rfc/rfc2279.txt; o formato de transformação no qual ele se baseia é especificado em Aditamento  2 de ISO  10646-1 e também é descrito no Padrãohttp://www.unicode.org/unicode/standard/standard.html Unicode.

Os UTF-16 conjuntos de caracteres são especificados por RFC  2781http://www.ietf.org/rfc/rfc2781.txt; os formatos de transformação nos quais se baseiam são especificados em Aditamento  1 de ISO  10646-1 e também são descritos no Padrãohttp://www.unicode.org/unicode/standard/standard.html Unicode.

Os UTF-16 conjuntos de caracteres usam quantidades de dezesseis bits e, portanto, são sensíveis à ordem de bytes. Nessas codificações, a ordem de bytes de um fluxo pode ser indicada por uma marca de ordem de byte inicial representada pelo caractere '&#92;uFEFF'Unicode. As marcas de ordem de byte são tratadas da seguinte maneira:

<ul>

<li>

Ao decodificar, os conjuntos e UTF-16BE os UTF-16LE conjuntos de caracteres interpretam as marcas de ordem de byte inicial como um <pequeno>ZERO-WIDTH NON-BREAKING SPACE</small>; ao codificar, eles não gravam marcas de ordem de byte.

</li>

<li>

Ao decodificar, o UTF-16 conjunto de caracteres interpreta a marca de ordem de byte no início do fluxo de entrada para indicar a ordem de bytes do fluxo, mas usa como padrão o big-endian se não houver nenhuma marca de ordem de byte; ao codificar, ele usa a ordem de byte big-endian e grava uma marca de ordem de byte big-endian.

</li>

</ul>

De qualquer forma, as marcas de ordem de bytes que ocorrem após o primeiro elemento de uma sequência de entrada não são omitidas, pois o mesmo código é usado para representar <pequenasZERO-WIDTH NON-BREAKING SPACE>/small<>.

Observação do Android: o padrão da plataforma Android é sempre UTF-8.

A StandardCharsets classe define constantes para cada um dos conjuntos de caracteres padrão.

<Terminologia> h2</h2>

O nome dessa classe é obtido dos termos usados no RFC  2278http://www.ietf.org/rfc/rfc2278.txt. Nesse documento, um conjunto de caracteres é definido como a combinação de um ou mais conjuntos de caracteres codificados e um esquema de codificação de caracteres. (Essa definição é confusa; alguns outros sistemas de software definem o charset como um sinônimo para conjunto de caracteres codificado.)

Um conjunto de caracteres codificado é um mapeamento entre um conjunto de caracteres abstratos e um conjunto de inteiros. US-ASCII, ISO  8859-1, JIS  X  0201 e Unicode são exemplos de conjuntos de caracteres codificados.

Alguns padrões definiram um conjunto de caracteres como simplesmente um conjunto de caracteres abstratos sem uma numeração atribuída associada. Um alfabeto é um exemplo desse conjunto de caracteres. No entanto, a distinção sutil entre o conjunto de caracteres e o conjunto de caracteres codificados raramente é usada na prática; o primeiro tornou-se uma forma curta para este último, inclusive na especificação da API Java.

Um esquema de codificação de caracteres é um mapeamento entre um ou mais conjuntos de caracteres codificados e um conjunto de sequências de octeto (bytes de oito bits). UTF-8, UTF-16, ISO  2022 e EUC são exemplos de esquemas de codificação de caracteres. Os esquemas de codificação geralmente são associados a um conjunto de caracteres codificado específico; UTF-8, por exemplo, é usado apenas para codificar Unicode. Alguns esquemas, no entanto, estão associados a vários conjuntos de caracteres codificados; O EUC, por exemplo, pode ser usado para codificar caracteres em uma variedade de conjuntos de caracteres codificados asiáticos.

Quando um conjunto de caracteres codificado é usado exclusivamente com um único esquema de codificação de caracteres, o conjunto de caracteres correspondente geralmente é nomeado para o conjunto de caracteres codificado; caso contrário, um conjunto de caracteres geralmente é nomeado para o esquema de codificação e, possivelmente, a localidade dos conjuntos de caracteres codificados que ele dá suporte. Portanto US-ASCII , é o nome de um conjunto de caracteres codificado e do conjunto de caracteres que o codifica, enquanto EUC-JP é o nome do conjunto de caracteres que codifica o JIS  X  0201, JIS  X  0208, e JIS  X  Conjuntos de caracteres codificados 0212 para o idioma japonês.

A codificação de caractere nativo da linguagem de programação Java é UTF-16. Um conjunto de caracteres na plataforma Java, portanto, define um mapeamento entre sequências de unidades de código UTF-16 de dezesseis bits (ou seja, sequências de caracteres) e sequências de bytes.

Adicionado em 1.4.

Documentação Java para java.nio.charset.Charset.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Construtores

Nome Description
Charset(IntPtr, JniHandleOwnership)

Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime.

Charset(String, String[])

Inicializa um novo conjunto de caracteres com o nome canônico e o alias definidos.

Propriedades

Nome Description
Class

Retorna a classe de runtime deste Object.

(Herdado de Object)
Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
IsRegistered

Informa se esse conjunto de caracteres está registrado ou não no Registro de Conjunto de Caracteres IANA.

JniIdentityHashCode

Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade.

(Herdado de Object)
JniManagedPeerState

Um mapeamento nomeado entre sequências de unidades de código Unicode de dezesseis bits e sequências de bytes.

(Herdado de JavaObject)
JniPeerMembers

Obtém os metadados JNI usados para invocar membros desse par Java.

PeerReference

Obtém a referência de objeto JNI para este par Java.

(Herdado de Object)
ThresholdClass

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

ThresholdType

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

Métodos

Nome Description
Aliases()

Retorna um conjunto que contém os aliases desse conjunto de caracteres.

AvailableCharsets()

Constrói um mapa classificado de nomes de conjuntos de caracteres canônicos a objetos charset.

CanEncode()

Informa se esse conjunto de caracteres dá suporte ou não à codificação.

Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
CompareTo(Charset)

Compara esse conjunto de caracteres com outro.

Construct(JniObjectReference, JniObjectReferenceOptions)

Um mapeamento nomeado entre sequências de unidades de código Unicode de dezesseis bits e sequências de bytes.

(Herdado de JavaObject)
Contains(Charset)

Informa se esse conjunto de caracteres contém ou não o conjunto de caracteres especificado.

Decode(ByteBuffer)

Método de conveniência que decodifica bytes nesse conjunto de caracteres em caracteres Unicode.

DefaultCharset()

Retorna o conjunto de caracteres padrão desta máquina virtual Java.

DisplayName()

Retorna o nome legível por humanos desse conjunto de caracteres para a localidade padrão.

DisplayName(Locale)

Retorna o nome legível por humanos desse conjunto de caracteres para a localidade fornecida.

Dispose()

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
Dispose(Boolean)

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
DisposeUnlessReferenced()

Um mapeamento nomeado entre sequências de unidades de código Unicode de dezesseis bits e sequências de bytes.

(Herdado de JavaObject)
Encode(CharBuffer)

Método de conveniência que codifica caracteres Unicode em bytes neste conjunto de caracteres.

Encode(String)

Método de conveniência que codifica uma cadeia de caracteres em bytes neste conjunto de caracteres.

Equals(Object)

Informa se esse objeto é ou não igual a outro.

Equals(Object)

Um mapeamento nomeado entre sequências de unidades de código Unicode de dezesseis bits e sequências de bytes.

(Herdado de JavaObject)
ForName(String, Charset)

Retorna um objeto charset para o conjunto de caracteres nomeado.

ForName(String)

Retorna um objeto charset para o conjunto de caracteres nomeado.

GetHashCode()

Calcula um hashcode para esse conjunto de caracteres.

IsSupported(String)

Informa se o conjunto de caracteres nomeado tem suporte.

JavaFinalize()
Obsoleto.

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
Name()

Retorna o nome canônico desse conjunto de caracteres.

NewDecoder()

Constrói um novo decodificador para esse conjunto de caracteres.

NewEncoder()

Constrói um novo codificador para esse conjunto de caracteres.

Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle

(Herdado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Um mapeamento nomeado entre sequências de unidades de código Unicode de dezesseis bits e sequências de bytes.

(Herdado de JavaObject)
ToArray<T>()

Cria uma matriz gerenciada com base nesse wrapper de matriz Java.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que descreve esse conjunto de caracteres.

UnregisterFromRuntime()

Cancela o registro desse par Java do runtime de interoperabilidade.

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até que seja despertado, normalmente sendo <notificado></em> ou <em>interrompido</em>.

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que seja ativado, normalmente sendo <notificado></em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que seja ativado, normalmente sendo <notificado></em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)

Implantações explícitas de interface

Nome Description
IComparable.CompareTo(Object)

Compara esse conjunto de caracteres a outro conjunto de caracteres por nome canônico, ignorando maiúsculas e minúsculas.

IJavaPeerable.Disposed()

Um mapeamento nomeado entre sequências de unidades de código Unicode de dezesseis bits e sequências de bytes.

(Herdado de JavaObject)
IJavaPeerable.Finalized()

Um mapeamento nomeado entre sequências de unidades de código Unicode de dezesseis bits e sequências de bytes.

(Herdado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Um mapeamento nomeado entre sequências de unidades de código Unicode de dezesseis bits e sequências de bytes.

(Herdado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Um mapeamento nomeado entre sequências de unidades de código Unicode de dezesseis bits e sequências de bytes.

(Herdado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Um mapeamento nomeado entre sequências de unidades de código Unicode de dezesseis bits e sequências de bytes.

(Herdado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Um mapeamento nomeado entre sequências de unidades de código Unicode de dezesseis bits e sequências de bytes.

(Herdado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Um mapeamento nomeado entre sequências de unidades de código Unicode de dezesseis bits e sequências de bytes.

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada pelo tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

Um mapeamento nomeado entre sequências de unidades de código Unicode de dezesseis bits e sequências de bytes.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a