Sprache

CharsetEncoder Klasse

Definition

Ein Modul, das eine Sequenz von Sechszehn-Bit-Unicode-Zeichen in eine Folge von Bytes in einem bestimmten Zeichensatz transformieren kann.

[Android.Runtime.Register("java/nio/charset/CharsetEncoder", DoNotGenerateAcw=true)]
public abstract class CharsetEncoder : Java.Lang.Object
[<Android.Runtime.Register("java/nio/charset/CharsetEncoder", DoNotGenerateAcw=true)>]
type CharsetEncoder = class
    inherit Object
Vererbung
CharsetEncoder
Attribute

Hinweise

Ein Modul, das eine Sequenz von Sechszehn-Bit-Unicode-Zeichen in eine Folge von Bytes in einem bestimmten Zeichensatz transformieren kann.

"Schritte">

Die Eingabezeichensequenz wird in einem Zeichenpuffer oder einer Reihe solcher Puffer bereitgestellt. Die Ausgabebytesequenz wird in einen Bytepuffer oder eine Reihe solcher Puffer geschrieben. Ein Encoder sollte immer verwendet werden, indem die folgende Sequenz von Methodenaufrufen, nachfolgend als Codierungsvorgang bezeichnet wird:

<ol>

<li>

Setzen Sie den Encoder über die #reset reset Methode zurück, es sei denn, er wurde noch nicht verwendet;

</li>

<li>

Rufen Sie die #encode encode 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 #encode encode Methode ein letztes Mal auf, und übergeben true Sie dann das endOfInput Argument.

</li>

<li>

Rufen Sie die #flush flush Methode auf, damit der Encoder jeden internen Zustand in den Ausgabepuffer leeren kann.

</li>

</ol>

Jeder Aufruf der #encode encode Methode codiert so viele Zeichen wie möglich aus dem Eingabepuffer und schreibt die resultierenden Bytes in den Ausgabepuffer. Die #encode encode Methode gibt zurück, wenn mehr Eingaben erforderlich sind, wenn nicht genügend Platz im Ausgabepuffer vorhanden ist oder wenn ein Codierungsfehler 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 Codierungsfehler wiederherzustellen, und versuchen Sie es erneut.

"ce">

Es gibt zwei allgemeine Arten von Codierungsfehlern. Wenn es sich bei der Eingabezeichensequenz nicht um eine legale 6zehn-Bit-Unicode-Sequenz handelt, wird die Eingabe als falsch formatiert betrachtet. Wenn die Eingabezeichensequenz legal ist, aber nicht einer gültigen Bytesequenz im angegebenen Zeichensatz zugeordnet werden kann, wurde ein nicht verwendbares Zeichen gefunden.

"cae">

Wie ein Codierungsfehler 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 des Ersatzbytearrays. Der Ersatz

wird zunächst auf den Standardersatz des Encoders festgelegt, der häufig (aber nicht immer) den Anfangswert hat { (byte)'?' };

der Wert kann über die #replaceWith(byte[]) 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 Codierungsprozesses zu behandeln, einschließlich der Implementierung von Fehleraktionen. Ein Encoder für ein bestimmtes Zeichenset, bei dem es sich um eine konkrete Unterklasse dieser Klasse handelt, muss nur die abstrakte #encodeLoop encodeLoop Methode implementieren, die die grundlegende Codierungsschleife 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.CharsetEncoder.

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
CharsetEncoder(Charset, Single, Single, Byte[])

Initialisiert einen neuen Encoder.

CharsetEncoder(Charset, Single, Single)

Initialisiert einen neuen Encoder.

CharsetEncoder(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 Objectzurück.

(Geerbt von Object)
Handle

Das Handle für die zugrunde liegende Android-Instanz.

(Geerbt von Object)
JniIdentityHashCode

Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist.

(Geerbt von Object)
JniManagedPeerState

Ein Modul, das eine Sequenz von Sechszehn-Bit-Unicode-Zeichen in eine Folge von Bytes in einem bestimmten Zeichensatz transformieren 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
AverageBytesPerChar()

Gibt die durchschnittliche Anzahl von Bytes zurück, die für jedes Zeichen der Eingabe erzeugt werden.

CanEncode(Char)

Gibt an, ob dieser Encoder das angegebene Zeichen codieren kann.

CanEncode(ICharSequence)

Gibt an, ob dieser Encoder die angegebene Zeichensequenz codieren kann.

CanEncode(String)

Gibt an, ob dieser Encoder die angegebene Zeichensequenz codieren kann.

Charset()

Gibt das Zeichenset zurück, das diesen Encoder erstellt hat.

Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Ein Modul, das eine Sequenz von Sechszehn-Bit-Unicode-Zeichen in eine Folge von Bytes in einem bestimmten Zeichensatz transformieren kann.

(Geerbt von JavaObject)
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 Sequenz von Sechszehn-Bit-Unicode-Zeichen in eine Folge von Bytes in einem bestimmten Zeichensatz transformieren kann.

(Geerbt von JavaObject)
Encode(CharBuffer, ByteBuffer, Boolean)

Codiert so viele Zeichen wie möglich aus dem angegebenen Eingabepuffer und schreibt die Ergebnisse in den angegebenen Ausgabepuffer.

Encode(CharBuffer)

Convenience-Methode, die den verbleibenden Inhalt eines einzelnen Eingabezeichenpuffers in einen neu zugeordneten Bytepuffer codiert.

EncodeLoop(CharBuffer, ByteBuffer)

Codiert mindestens ein Zeichen in mindestens ein Byte.

Equals(Object)

Ein Modul, das eine Sequenz von Sechszehn-Bit-Unicode-Zeichen in eine Folge von Bytes in einem bestimmten Zeichensatz transformieren kann.

(Geerbt von JavaObject)
Equals(Object)

Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist.

(Geerbt von Object)
Flush(ByteBuffer)

Löscht diesen Encoder.

GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
ImplFlush(ByteBuffer)

Löscht diesen Encoder.

ImplOnMalformedInput(CodingErrorAction)

Meldet eine Änderung an der falsch formatierten Eingabeaktion dieses Encoders.

ImplOnUnmappableCharacter(CodingErrorAction)

Meldet eine Änderung an der nicht verwendbaren Zeichenaktion dieses Encoders.

ImplReplaceWith(Byte[])

Meldet eine Änderung des Ersetzungswerts dieses Encoders.

ImplReset()

Setzt diesen Encoder zurück, wobei alle charsetspezifischen internen Zustände gelöscht werden.

IsLegalReplacement(Byte[])

Gibt an, ob das angegebene Bytearray ein rechtlicher Ersatzwert für diesen Encoder ist.

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 Encoders für falsch formatierte Eingabefehler zurück.

MaxBytesPerChar()

Gibt die maximale Anzahl von Bytes zurück, die für jedes Zeichen der Eingabe erzeugt 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 Encoders für fehlerhafte Eingabefehler.

OnUnmappableCharacter(CodingErrorAction)

Ändert die Aktion dieses Encoders für nicht verwendbare Zeichenfehler.

Replacement()

Gibt den Ersetzungswert dieses Encoders zurück.

ReplaceWith(Byte[])

Ändert den Ersetzungswert dieses Encoders.

Reset()

Setzt diesen Encoder 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 Sequenz von Sechszehn-Bit-Unicode-Zeichen in eine Folge von Bytes in einem bestimmten Zeichensatz transformieren 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 Encoders 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 Sequenz von Sechszehn-Bit-Unicode-Zeichen in eine Folge von Bytes in einem bestimmten Zeichensatz transformieren kann.

(Geerbt von JavaObject)
IJavaPeerable.Finalized()

Ein Modul, das eine Sequenz von Sechszehn-Bit-Unicode-Zeichen in eine Folge von Bytes in einem bestimmten Zeichensatz transformieren kann.

(Geerbt von JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Ein Modul, das eine Sequenz von Sechszehn-Bit-Unicode-Zeichen in eine Folge von Bytes in einem bestimmten Zeichensatz transformieren kann.

(Geerbt von JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Ein Modul, das eine Sequenz von Sechszehn-Bit-Unicode-Zeichen in eine Folge von Bytes in einem bestimmten Zeichensatz transformieren kann.

(Geerbt von JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Ein Modul, das eine Sequenz von Sechszehn-Bit-Unicode-Zeichen in eine Folge von Bytes in einem bestimmten Zeichensatz transformieren kann.

(Geerbt von JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Ein Modul, das eine Sequenz von Sechszehn-Bit-Unicode-Zeichen in eine Folge von Bytes in einem bestimmten Zeichensatz transformieren kann.

(Geerbt von JavaObject)

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Ein Modul, das eine Sequenz von Sechszehn-Bit-Unicode-Zeichen in eine Folge von Bytes in einem bestimmten Zeichensatz transformieren kann.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: