Condividi tramite


Charset Classe

Definizione

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte.

[Android.Runtime.Register("java/nio/charset/Charset", DoNotGenerateAcw=true)]
public abstract class Charset : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, 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
Ereditarietà
Charset
Attributi
Implementazioni

Commenti

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte. Questa classe definisce i metodi per la creazione di decodificatori e codificatori e per il recupero dei vari nomi associati a un set di caratteri. Le istanze di questa classe non sono modificabili.

Questa classe definisce anche metodi statici per verificare se un particolare charset è supportato, per l'individuazione di istanze di charset in base al nome e per la costruzione di una mappa contenente ogni charset per il quale è disponibile il supporto nella macchina virtuale Java corrente. Il supporto per i nuovi set di caratteri può essere aggiunto tramite l'interfaccia del provider di servizi definita nella java.nio.charset.spi.CharsetProvider classe .

Tutti i metodi definiti in questa classe sono sicuri per l'uso da parte di più thread simultanei.

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

I set di caratteri sono denominati da stringhe composte dai caratteri seguenti:

<ul>

<li> Le lettere 'A' maiuscole attraverso 'Z' ('&#92;u0041'  attraverso '&#92;u005a'),

<li> Le lettere 'a' minuscole attraverso 'z' ('&#92;u0061'  attraverso '&#92;u007a'),

<li> Le cifre '0' attraverso '9' ('&#92;u0030'  attraverso '&#92;u0039'),

<li> Il trattino '-' ('&#92;u002d', <piccolo>SEGNO MENO</piccolo>),

<li> Il carattere '+' più ('&#92;u002b', <piccolo>SEGNO< PIÙ/piccolo>),

<li> Il carattere '.' punto ('&#92;u002e', <piccolo>FULL STOP</piccolo>),

<li> Il carattere ':' due punti ('&#92;u003a', <<colon piccolo/piccolo>>) e

<li> Carattere di sottolineatura '_' ('&#92;u005f', <small>LOW  LINEA</piccola>).

</ul>

Il nome di un set di caratteri deve iniziare con una lettera o una cifra. La stringa vuota non è un nome di charset legale. I nomi dei set di caratteri non fanno distinzione tra maiuscole e minuscole; vale a dire, il caso viene sempre ignorato quando si confrontano nomi di set di caratteri. I nomi dei set di caratteri seguono in genere le convenzioni documentate in RFC  2278:  Procedure di registrazione del set di caratterihttp://www.ietf.org/rfc/rfc2278.txt IANA.

Ogni set di caratteri ha un nome canonico e può avere anche uno o più alias. Il nome canonico viene restituito dal #name() name metodo di questa classe. I nomi canonici sono, per convenzione, in genere in lettere maiuscole. Gli alias di un set di caratteri vengono restituiti dal #aliases() aliases metodo .

"hn">Some charsets have an <i>historical name</i> that is defined for compatibility with previous versions of the Java platform. Il nome cronologico di un set di caratteri è il nome canonico o uno dei relativi alias. Il nome cronologico viene restituito dai getEncoding() metodi delle java.io.InputStreamReader#getEncoding InputStreamReader classi e java.io.OutputStreamWriter#getEncoding OutputStreamWriter .

"iana"> Se un set di caratteri elencato nel Registro di sistemahttp://www.iana.org/assignments/character-sets charset IANA è supportato da un'implementazione della piattaforma Java, il nome canonico deve essere il nome elencato nel Registro di sistema. Molti charset vengono assegnati più nomi nel Registro di sistema, nel qual caso il Registro di sistema identifica uno dei nomi come preferito da MIME. Se un set di caratteri ha più di un nome del Registro di sistema, il nome canonico deve essere il nome mime preferito e gli altri nomi nel Registro di sistema devono essere alias validi. Se un set di caratteri supportato non è elencato nel Registro di sistema IANA, il nome canonico deve iniziare con una delle stringhe "X-" o "x-".

Il registro dei set di caratteri IANA cambia nel tempo e quindi anche il nome canonico e gli alias di un determinato charset possono cambiare nel tempo. Per garantire la compatibilità, è consigliabile che nessun alias venga mai rimosso da un set di caratteri e che, se il nome canonico di un set di caratteri viene modificato, il nome canonico precedente viene creato in un alias.

<h2>Set di< caratteri standard/h2>

"standard">Ogni implementazione della piattaforma Java è necessaria per supportare i charset standard seguenti. Consultare la documentazione sulla versione per l'implementazione per verificare se sono supportati altri charset. Il comportamento di tali charset facoltativi può variare tra le implementazioni.

<blockquote><table class="striped" style="width:80%"><didascalia style="display:none">Description of standard charsets</didascalia<> 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>ASCII a sette bit, a.k.a. ISO646-US, a.k.a. il blocco alfabeto latino di base del set< di caratteri Unicode/td></tr tr><><th scope="row" style="vertical-align:top"><ISO-8859-1&nbsp;&nbsp;/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>Eight-bit UCS Transformation Format</td></tr tr><<>th scope="row" style="vertical-align:top"<>UTF-16BE/th td th><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>UcS Transformation Format, byte  ordine identificato da un contrassegno< di ordine byte facoltativo/td></tr></tbody></table></blockquote>

Il UTF-8 set di caratteri viene specificato da RFC  2279http://www.ietf.org/rfc/rfc2279.txt; il formato di trasformazione su cui si basa è specificato nell'emendamento  2 di ISO  10646-1 ed è descritto anche nello standardhttp://www.unicode.org/unicode/standard/standard.html Unicode.

I UTF-16 set di caratteri sono specificati da RFC  2781http://www.ietf.org/rfc/rfc2781.txt; i formati di trasformazione su cui sono basati sono specificati nella modifica  1 di ISO  10646-1 e sono descritti anche nello standardhttp://www.unicode.org/unicode/standard/standard.html Unicode.

I UTF-16 set di caratteri usano quantità a sedici bit e pertanto sono sensibili all'ordine dei byte. In queste codifiche l'ordine dei byte di un flusso può essere indicato da un contrassegno di ordine di byte iniziale rappresentato dal carattere '&#92;uFEFF'Unicode . I contrassegni di ordine byte vengono gestiti come segue:

<ul>

<li>

Durante la decodifica, i set di caratteri e UTF-16LE interpretano i contrassegni di ordine dei byte iniziali come piccolo>< SPAZIO< DI LARGHEZZA ZERO/piccolo>; durante la UTF-16BE codifica, non scrivono contrassegni di ordine dei byte.

</li>

<li>

Durante la decodifica, il UTF-16 set di caratteri interpreta il contrassegno di ordine dei byte all'inizio del flusso di input per indicare l'ordine dei byte del flusso, ma per impostazione predefinita è big-endian se non è presente alcun contrassegno di ordine di byte; quando la codifica usa l'ordine dei byte big-endian e scrive un contrassegno di byte-order big-endian.

</li>

</ul>

In ogni caso, i contrassegni di ordine dei byte che si verificano dopo il primo elemento di una sequenza di input non vengono omessi perché lo stesso codice viene usato per rappresentare <piccoli>SPAZI< DI LARGHEZZA ZERO/piccolo>.

Nota Android: il valore predefinito della piattaforma Android è sempre UTF-8.

La StandardCharsets classe definisce le costanti per ogni set di caratteri standard.

<terminologia< h2>/h2>

Il nome di questa classe è tratto dai termini utilizzati in RFC  2278http://www.ietf.org/rfc/rfc2278.txt. In tale documento un set di caratteri viene definito come combinazione di uno o più set di caratteri codificati e uno schema di codifica dei caratteri. Questa definizione crea confusione. Altri sistemi software definiscono charset come sinonimo di set di caratteri codificati.

Un set di caratteri codificati è un mapping tra un set di caratteri astratti e un set di interi. US-ASCII, ISO  8859-1, JIS  X  0201 e Unicode sono esempi di set di caratteri codificati.

Alcuni standard hanno definito un set di caratteri per essere semplicemente un set di caratteri astratti senza un numerazione assegnato associato. Un alfabeto è un esempio di un set di caratteri di questo tipo. Tuttavia, la distinzione sottile tra set di caratteri e set di caratteri codificati viene raramente usata in pratica; il primo è diventato un modulo breve per quest'ultimo, incluso nella specifica dell'API Java.

Uno schema di codifica dei caratteri è un mapping tra uno o più set di caratteri codificati e un set di sequenze di ottet (otto byte). UTF-8, UTF-16, ISO  2022 e EUC sono esempi di schemi di codifica dei caratteri. Gli schemi di codifica sono spesso associati a un determinato set di caratteri codificati; UTF-8, ad esempio, viene usato solo per codificare Unicode. Alcuni schemi, tuttavia, sono associati a più set di caratteri codificati; L'EUC, ad esempio, può essere usato per codificare i caratteri in un'ampia gamma di set di caratteri codificati asiatici.

Quando un set di caratteri codificato viene usato esclusivamente con uno schema di codifica dei caratteri singolo, il charset corrispondente è in genere denominato per il set di caratteri codificato; in caso contrario, un charset è in genere denominato per lo schema di codifica e, eventualmente, le impostazioni locali dei set di caratteri codificati supportati. Di conseguenza US-ASCII è sia il nome di un set di caratteri codificato che del charset che lo codifica, mentre EUC-JP è il nome del charset che codifica il jiS  X  0201, JIS  X  0208 e JIS  X  0212 set di caratteri codificati per la lingua giapponese.

La codifica dei caratteri nativa del linguaggio di programmazione Java è UTF-16. Un charset nella piattaforma Java definisce quindi un mapping tra sequenze di unità di codice UTF-16 a sedici bit, ovvero sequenze di caratteri, e sequenze di byte.

Aggiunta nella versione 1.4.

Documentazione Java per java.nio.charset.Charset.

Le parti di questa pagina sono modifiche in base al lavoro creato e condiviso dal Android Open Source e usato in base ai termini descritti nella .

Costruttori

Charset(IntPtr, JniHandleOwnership)

Costruttore utilizzato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

Charset(String, String[])

Inizializza un nuovo set di caratteri con il nome canonico e il set di alias specificati.

Proprietà

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
IsRegistered

Indica se questo set di caratteri è registrato nel Registro charset IANA.

JniIdentityHashCode

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte.

(Ereditato da Object)
JniPeerMembers

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte.

PeerReference

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte.

(Ereditato da Object)
ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

Metodi

Aliases()

Restituisce un set contenente gli alias di questo charset.

AvailableCharsets()

Costruisce una mappa ordinata dai nomi dei set di caratteri canonici agli oggetti charset.

CanEncode()

Indica se questo set di caratteri supporta la codifica.

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
CompareTo(Charset)

Confronta questo set di caratteri con un altro.

Contains(Charset)

Indica se il set di caratteri contiene o meno il set di caratteri specificato.

Decode(ByteBuffer)

Metodo pratico che decodifica i byte in questo charset in caratteri Unicode.

DefaultCharset()

Restituisce il charset predefinito di questa macchina virtuale Java.

DisplayName()

Restituisce il nome leggibile del set di caratteri per le impostazioni locali predefinite.

DisplayName(Locale)

Restituisce il nome leggibile del set di caratteri per le impostazioni locali specificate.

Dispose()

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte.

(Ereditato da Object)
Dispose(Boolean)

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte.

(Ereditato da Object)
Encode(CharBuffer)

Metodo pratico che codifica i caratteri Unicode in byte in questo set di caratteri.

Encode(String)

Metodo pratico che codifica una stringa in byte in questo set di caratteri.

Equals(Object)

Indica se l'oggetto è uguale o meno a un altro.

ForName(String)

Restituisce un oggetto charset per il charset denominato.

GetHashCode()

Calcola un codice hash per questo charset.

IsSupported(String)

Indica se il set di caratteri denominato è supportato.

JavaFinalize()

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
Name()

Restituisce il nome canonico del set di caratteri.

NewDecoder()

Costruisce un nuovo decodificatore per questo charset.

NewEncoder()

Costruisce un nuovo codificatore per questo set di caratteri.

Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitoraggio di questo oggetto.

(Ereditato da Object)
SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
ToArray<T>()

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte.

(Ereditato da Object)
ToString()

Restituisce una stringa che descrive questo set di caratteri.

UnregisterFromRuntime()

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte.

(Ereditato da Object)
Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una>notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una notifica</>em> o <em>interrotto</em> o fino a quando non è trascorsa una certa quantità di tempo reale.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una notifica</>em> o <em>interrotto</em> o fino a quando non è trascorsa una certa quantità di tempo reale.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IComparable.CompareTo(Object)

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte.

IJavaPeerable.Disposed()

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte.

(Ereditato da Object)
IJavaPeerable.Finalized()

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo verificato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte.

GetJniTypeName(IJavaPeerable)

Mapping denominato tra sequenze di unità di codice Unicode a sedici bit e sequenze di byte.

Si applica a