CharsetDecoder Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ein Modul, das eine Bytesequenz in einem bestimmten Zeichensatz in eine Sequenz von 16 Bit-Unicode-Zeichen umwandeln kann.
[Android.Runtime.Register("java/nio/charset/CharsetDecoder", DoNotGenerateAcw=true)]
public abstract class CharsetDecoder : Java.Lang.Object
[<Android.Runtime.Register("java/nio/charset/CharsetDecoder", DoNotGenerateAcw=true)>]
type CharsetDecoder = class
inherit Object
- Vererbung
- Attribute
Hinweise
Ein Modul, das eine Bytesequenz in einem bestimmten Zeichensatz in eine Sequenz von 16 Bit-Unicode-Zeichen umwandeln kann.
"Schritte">
Die Eingabebytesequenz wird in einem Bytepuffer oder einer Reihe solcher Puffer bereitgestellt. Die Ausgabezeichensequenz wird in einen Zeichenpuffer oder eine Reihe solcher Puffer geschrieben. Ein Decoder sollte immer verwendet werden, indem die folgende Abfolge von Methodenaufrufen, nachfolgend als Decodierungsvorgang bezeichnet wird:
<ol>
<li>
Setzen Sie den Decoder über die #reset reset Methode zurück, es sei denn, er wurde noch nicht verwendet;
</li>
<li>
Rufen Sie die #decode decode Methode null oder mehr Mal auf, solange zusätzliche Eingaben verfügbar sind, übergeben false Sie das endOfInput Argument, und füllen Sie den Eingabepuffer, und leeren Sie den Ausgabepuffer zwischen Aufrufen;
</li>
<li>
Rufen Sie die #decode decode Methode ein letztes Mal auf, und übergeben true Sie dann das endOfInput Argument.
</li>
<li>
Rufen Sie die #flush flush Methode auf, damit der Decoder jeden internen Zustand in den Ausgabepuffer leeren kann.
</li>
</ol>
Jeder Aufruf der #decode decode Methode decodiert so viele Bytes wie möglich aus dem Eingabepuffer und schreibt die resultierenden Zeichen in den Ausgabepuffer. Die #decode decode Methode gibt zurück, wenn mehr Eingaben erforderlich sind, wenn nicht genügend Platz im Ausgabepuffer vorhanden ist oder wenn ein Decodierungsfehler aufgetreten ist. In jedem Fall wird ein CoderResult Objekt zurückgegeben, um den Grund für die Beendigung zu beschreiben. Ein Aufrufer kann dieses Objekt untersuchen und den Eingabepuffer ausfüllen, den Ausgabepuffer leeren oder versuchen, nach Bedarf einen Decodierungsfehler wiederherzustellen, und versuchen Sie es erneut.
"ce">
Es gibt zwei allgemeine Arten von Decodierungsfehlern. Wenn die Eingabebytesequenz für diese Zeichenmenge nicht zulässig ist, wird die Eingabe als falsch formatiert betrachtet. Wenn die Eingabebytesequenz legal ist, aber nicht einem gültigen Unicode-Zeichen zugeordnet werden kann, wurde ein nicht verwendbares Zeichen gefunden.
"cae">
Wie ein Decodierungsfehler behandelt wird, hängt von der für diesen Fehlertyp angeforderten Aktion ab, die von einer Instanz der CodingErrorAction Klasse beschrieben wird. Mögliche Fehleraktionen sind codierenErrorAction#IGNORE ignorieren die fehlerhafte Eingabe, CodingErrorAction#REPORT melden den Fehler an den Aufrufer über das zurückgegebene CoderResult Objekt, oder CodingErrorAction#REPLACE ersetzen die fehlerhafte Eingabe durch den aktuellen Wert der Ersetzungszeichenfolge. Der Ersatz
hat den Anfangswert "\uFFFD";
der Wert kann über die #replaceWith(java.lang.String) replaceWith Methode geändert werden.
Die Standardaktion für falsch formatierte Eingaben und nicht verwendbare Zeichenfehler besteht darin, dass sie codierenErrorAction#REPORT gemeldet werden. Die falsch formatierte Eingabefehleraktion kann über die #onMalformedInput(CodingErrorAction) onMalformedInput Methode geändert werden. Die nicht verwendbare Zeichenaktion kann über die #onUnmappableCharacter(CodingErrorAction) onUnmappableCharacter Methode geändert werden.
Diese Klasse wurde entwickelt, um viele Details des Decodierungsprozesses zu behandeln, einschließlich der Implementierung von Fehleraktionen. Ein Decoder für eine bestimmte Zeichenmenge, bei der es sich um eine konkrete Unterklasse dieser Klasse handelt, muss nur die abstrakte #decodeLoop decodeLoop Methode implementieren, die die grundlegende Decodierungsschleife kapselt. Eine Unterklasse, die den internen Zustand verwaltet, sollte zusätzlich die #implFlush implFlush Und #implReset implReset Methoden außer Kraft setzen.
Instanzen dieser Klasse sind nicht sicher für die Verwendung durch mehrere gleichzeitige Threads.
In 1.4 hinzugefügt.
Java Dokumentation für java.nio.charset.CharsetDecoder.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Konstruktoren
| Name | Beschreibung |
|---|---|
| CharsetDecoder(Charset, Single, Single) |
Initialisiert einen neuen Decoder. |
| CharsetDecoder(IntPtr, JniHandleOwnership) |
Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Laufzeit aufgerufen. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Class |
Gibt die Laufzeitklasse dieses Werts |
| Handle |
Das Handle für die zugrunde liegende Android-Instanz. (Geerbt von Object) |
| IsAutoDetecting |
Gibt an, ob dieser Decoder ein automatisch erkennendes Zeichenset implementiert. |
| IsCharsetDetected |
Gibt an, ob dieser Decoder noch ein Charset erkannt hat oder nicht; (optionaler Vorgang). |
| JniIdentityHashCode |
Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist. (Geerbt von Object) |
| JniManagedPeerState |
Ein Modul, das eine Bytesequenz in einem bestimmten Zeichensatz in eine Sequenz von 16 Bit-Unicode-Zeichen umwandeln kann. (Geerbt von JavaObject) |
| JniPeerMembers |
Ruft die JNI-Metadaten ab, die zum Aufrufen von Mitgliedern dieses Java Peers verwendet werden. |
| PeerReference |
Ruft den JNI-Objektverweis für diesen Java Peer ab. (Geerbt von Object) |
| ThresholdClass |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. |
| ThresholdType |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. |
Methoden
| Name | Beschreibung |
|---|---|
| AverageCharsPerByte() |
Gibt die durchschnittliche Anzahl von Zeichen zurück, die für jedes Byte von Eingaben erstellt werden. |
| Charset() |
Gibt das Zeichenset zurück, das diesen Decoder erstellt hat. |
| Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Ein Modul, das eine Bytesequenz in einem bestimmten Zeichensatz in eine Sequenz von 16 Bit-Unicode-Zeichen umwandeln kann. (Geerbt von JavaObject) |
| Decode(ByteBuffer, CharBuffer, Boolean) |
Decodiert so viele Bytes wie möglich vom angegebenen Eingabepuffer und schreibt die Ergebnisse in den angegebenen Ausgabepuffer. |
| Decode(ByteBuffer) |
Convenience-Methode, die den verbleibenden Inhalt eines einzelnen Eingabebytepuffers in einen neu zugeordneten Zeichenpuffer decodiert. |
| DecodeLoop(ByteBuffer, CharBuffer) |
Decodiert mindestens ein Byte in ein oder mehrere Zeichen. |
| DetectedCharset() |
Ruft das Zeichenset ab, das von diesem Decoder erkannt wurde (optionaler Vorgang). |
| Dispose() |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| Dispose(Boolean) |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| DisposeUnlessReferenced() |
Ein Modul, das eine Bytesequenz in einem bestimmten Zeichensatz in eine Sequenz von 16 Bit-Unicode-Zeichen umwandeln kann. (Geerbt von JavaObject) |
| Equals(Object) |
Ein Modul, das eine Bytesequenz in einem bestimmten Zeichensatz in eine Sequenz von 16 Bit-Unicode-Zeichen umwandeln kann. (Geerbt von JavaObject) |
| Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist. (Geerbt von Object) |
| Flush(CharBuffer) |
Löscht diesen Decoder. |
| GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
| ImplFlush(CharBuffer) |
Löscht diesen Decoder. |
| ImplOnMalformedInput(CodingErrorAction) |
Meldet eine Änderung an der falsch formatierten Eingabeaktion dieses Decoders. |
| ImplOnUnmappableCharacter(CodingErrorAction) |
Meldet eine Änderung an der nicht verwendbaren Zeichenaktion dieses Decoders. |
| ImplReplaceWith(String) |
Meldet eine Änderung des Ersatzwerts dieses Decoders. |
| ImplReset() |
Setzt diesen Decoder zurück und räumt alle charsetspezifischen internen Zustände aus. |
| JavaFinalize() |
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind. (Geerbt von Object) |
| MalformedInputAction() |
Gibt die aktuelle Aktion dieses Decoders für falsch formatierte Eingabefehler zurück. |
| MaxCharsPerByte() |
Gibt die maximale Anzahl von Zeichen zurück, die für jedes Byte von Eingaben erstellt werden. |
| Notify() |
Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet. (Geerbt von Object) |
| NotifyAll() |
Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten. (Geerbt von Object) |
| OnMalformedInput(CodingErrorAction) |
Ändert die Aktion dieses Decoders für fehlerhafte Eingabefehler. |
| OnUnmappableCharacter(CodingErrorAction) |
Ändert die Aktion dieses Decoders für nicht verwendbare Zeichenfehler. |
| Replacement() |
Gibt den Ersatzwert dieses Decoders zurück. |
| ReplaceWith(String) |
Ändert den Ersatzwert dieses Decoders. |
| Reset() |
Setzt diesen Decoder zurück, wobei alle internen Zustände gelöscht werden. |
| SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Ein Modul, das eine Bytesequenz in einem bestimmten Zeichensatz in eine Sequenz von 16 Bit-Unicode-Zeichen umwandeln kann. (Geerbt von JavaObject) |
| ToArray<T>() |
Erstellt ein verwaltetes Array aus diesem Java Arraywrapper. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
| UnmappableCharacterAction() |
Gibt die aktuelle Aktion dieses Decoders für nicht verwendbare Zeichenfehler zurück. |
| UnregisterFromRuntime() |
Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf. (Geerbt von Object) |
| Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><> (Geerbt von Object) |
| Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
| Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IJavaPeerable.Disposed() |
Ein Modul, das eine Bytesequenz in einem bestimmten Zeichensatz in eine Sequenz von 16 Bit-Unicode-Zeichen umwandeln kann. (Geerbt von JavaObject) |
| IJavaPeerable.Finalized() |
Ein Modul, das eine Bytesequenz in einem bestimmten Zeichensatz in eine Sequenz von 16 Bit-Unicode-Zeichen umwandeln kann. (Geerbt von JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Ein Modul, das eine Bytesequenz in einem bestimmten Zeichensatz in eine Sequenz von 16 Bit-Unicode-Zeichen umwandeln kann. (Geerbt von JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Ein Modul, das eine Bytesequenz in einem bestimmten Zeichensatz in eine Sequenz von 16 Bit-Unicode-Zeichen umwandeln kann. (Geerbt von JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Ein Modul, das eine Bytesequenz in einem bestimmten Zeichensatz in eine Sequenz von 16 Bit-Unicode-Zeichen umwandeln kann. (Geerbt von JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Ein Modul, das eine Bytesequenz in einem bestimmten Zeichensatz in eine Sequenz von 16 Bit-Unicode-Zeichen umwandeln kann. (Geerbt von JavaObject) |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ruft den JNI-Namen des Typs der Instanz |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
| JavaCast<TResult>(IJavaObject) |
Ein Modul, das eine Bytesequenz in einem bestimmten Zeichensatz in eine Sequenz von 16 Bit-Unicode-Zeichen umwandeln kann. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Versuchen Sie, die Eingabe |