CharsetDecoder Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Подсистема, которая может преобразовать последовательность байтов в определенной кодировке в последовательность шестнадцати битовых символов Юникода.
[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
- Наследование
- Атрибуты
Комментарии
Подсистема, которая может преобразовать последовательность байтов в определенной кодировке в последовательность шестнадцати битовых символов Юникода.
"steps">
Входная последовательность байтов предоставляется в байтовом буфере или ряде таких буферов. Выходная последовательность символов записывается в буфер символов или ряд таких буферов. Декодер всегда следует использовать, выполняя следующую последовательность вызовов методов, далее называемую операцией декодирования:
<Пр>
<Литий>
Сбросьте декодер с помощью #reset reset
метода , если только он не использовался ранее;
</Литий>
<Литий>
Вызов метода #decode decode
ноль или более раз, если могут быть доступны дополнительные входные данные, передавая false
endOfInput
аргумент и заполняя входной буфер и сбрасывая выходной буфер между вызовами;
</Литий>
<Литий>
Вызов метода один #decode decode
раз в последний раз, передавая true
endOfInput
аргумент, а затем
</Литий>
<Литий>
Вызовите #flush flush
метод , чтобы декодер мог очистить любое внутреннее состояние в выходном буфере.
</Литий>
</Пр>
Каждый вызов #decode decode
метода будет декодировать как можно больше байтов из входного буфера, записывая полученные символы в выходной буфер. Метод #decode decode
возвращает, если требуется больше входных данных, если в выходном буфере недостаточно места или когда произошла ошибка декодирования. В каждом случае CoderResult
возвращается объект для описания причины завершения. Вызывающий объект может проверить этот объект и заполнить входной буфер, очистить выходной буфер или попытаться восстановиться после ошибки декодирования при необходимости и повторить попытку.
"ce">
Существует два основных типа ошибок декодирования. Если входная последовательность байтов не является допустимой для этого набора символов, входные данные считаются неправильно сформированными. Если входная последовательность байтов является допустимой, но не может быть сопоставлена с допустимым символом Юникода, обнаружен неприменимый символ .
"cae">
Способ обработки ошибки декодирования зависит от действия, запрошенного для этого типа ошибки, описанной экземпляром CodingErrorAction
класса . Возможные действия с ошибками: CodingErrorAction#IGNORE игнорирует ошибочные входные данные, CodingErrorAction#REPORT сообщает об ошибке вызывающей стороне с помощью возвращенного CoderResult
объекта или CodingErrorAction#REPLACE заменить ошибочные входные данные текущим значением строки замены. Замена
имеет начальное значение "\uFFFD"
;
его значение можно изменить с помощью #replaceWith(java.lang.String) replaceWith
метода .
Действие по умолчанию для ошибок неправильного ввода и неисправных символов заключается в том, чтобы КодированиеErrorAction#REPORT сообщить о них. Действие ошибки с неправильным форматом ввода может быть изменено с помощью #onMalformedInput(CodingErrorAction) onMalformedInput
метода ; действие unmappable-character может быть изменено с помощью #onUnmappableCharacter(CodingErrorAction) onUnmappableCharacter
метода .
Этот класс предназначен для обработки многих деталей процесса декодирования, включая реализацию действий с ошибками. Декодер для определенного набора символов, который является конкретным подклассом этого класса, должен реализовывать только абстрактный #decodeLoop decodeLoop
метод, который инкапсулирует базовый цикл декодирования. Подкласс, поддерживающий внутреннее состояние, должен дополнительно переопределять методы #implFlush implFlush
и #implReset implReset
.
Экземпляры этого класса не являются безопасными для использования несколькими параллельными потоками.
Добавлено в версии 1.4.
Документация по Java для java.nio.charset.CharsetDecoder
.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.
Конструкторы
CharsetDecoder(Charset, Single, Single) |
Инициализирует новый декодер. |
CharsetDecoder(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
Свойства
Class |
Возвращает класс среды выполнения данного объекта |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
IsAutoDetecting |
Указывает, реализует ли этот декодер набор символов с автоматическим обнаружением. |
IsCharsetDetected |
Указывает, обнаружил ли декодер еще набор символов (необязательная операция).. |
JniIdentityHashCode |
Подсистема, которая может преобразовать последовательность байтов в определенной кодировке в последовательность шестнадцати битовых символов Юникода. (Унаследовано от Object) |
JniPeerMembers |
Подсистема, которая может преобразовать последовательность байтов в определенной кодировке в последовательность шестнадцати битовых символов Юникода. |
PeerReference |
Подсистема, которая может преобразовать последовательность байтов в определенной кодировке в последовательность шестнадцати битовых символов Юникода. (Унаследовано от Object) |
ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
Методы
AverageCharsPerByte() |
Возвращает среднее число символов, которые будут созданы для каждого байта входных данных. |
Charset() |
Возвращает набор символов, создавший этот декодер. |
Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
Decode(ByteBuffer) |
Удобный метод, который декодирует оставшееся содержимое одного входного буфера байтов в только что выделенный буфер символов. |
Decode(ByteBuffer, CharBuffer, Boolean) |
Декодирует как можно больше байтов из заданного входного буфера, записывая результаты в заданный выходной буфер. |
DecodeLoop(ByteBuffer, CharBuffer) |
Декодирует один или несколько байтов в один или несколько символов. |
DetectedCharset() |
Извлекает набор символов, обнаруженный этим декодером (необязательная операция).. |
Dispose() |
Подсистема, которая может преобразовать последовательность байтов в определенной кодировке в последовательность шестнадцати битовых символов Юникода. (Унаследовано от Object) |
Dispose(Boolean) |
Подсистема, которая может преобразовать последовательность байтов в определенной кодировке в последовательность шестнадцати битовых символов Юникода. (Унаследовано от Object) |
Equals(Object) |
Указывает, равен ли какой-то другой объект этому объекту. (Унаследовано от Object) |
Flush(CharBuffer) |
Очищает этот декодер. |
GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
ImplFlush(CharBuffer) |
Очищает этот декодер. |
ImplOnMalformedInput(CodingErrorAction) |
Сообщает об изменении действия ввода с неправильным форматом этого декодера. |
ImplOnUnmappableCharacter(CodingErrorAction) |
Сообщает об изменении действия этого декодера с неприменимыми символами. |
ImplReplaceWith(String) |
Сообщает об изменении значения замены этого декодера. |
ImplReset() |
Сбрасывает этот декодер, очищая все внутренние состояния, относящиеся к кодировке charset. |
JavaFinalize() |
Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект . (Унаследовано от Object) |
MalformedInputAction() |
Возвращает текущее действие декодера для ошибок неправильного формата ввода. |
MaxCharsPerByte() |
Возвращает максимальное количество символов, которое будет создано для каждого байта входных данных. |
Notify() |
Пробуждает один поток, ожидающий монитора этого объекта. (Унаследовано от Object) |
NotifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. (Унаследовано от Object) |
OnMalformedInput(CodingErrorAction) |
Изменяет действие декодера для ошибок неправильного формата ввода. |
OnUnmappableCharacter(CodingErrorAction) |
Изменяет действие этого декодера для ошибок, не допускающих применение символов. |
Replacement() |
Возвращает значение замены этого декодера. |
ReplaceWith(String) |
Изменяет значение замены этого декодера. |
Reset() |
Сбрасывает этот декодер, очищая все внутреннее состояние. |
SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
ToArray<T>() |
Подсистема, которая может преобразовать последовательность байтов в определенной кодировке в последовательность шестнадцати битовых символов Юникода. (Унаследовано от Object) |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
UnmappableCharacterAction() |
Возвращает текущее действие этого декодера для ошибок, не допускающих применение символов. |
UnregisterFromRuntime() |
Подсистема, которая может преобразовать последовательность байтов в определенной кодировке в последовательность шестнадцати битовых символов Юникода. (Унаследовано от Object) |
Wait() |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, из-за <уведомления><<> или>прерывания или прерывания.>< (Унаследовано от Object) |
Wait(Int64) |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени. (Унаследовано от Object) |
Wait(Int64, Int32) |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
IJavaPeerable.Disposed() |
Подсистема, которая может преобразовать последовательность байтов в определенной кодировке в последовательность шестнадцати битовых символов Юникода. (Унаследовано от Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Подсистема, которая может преобразовать последовательность байтов в определенной кодировке в последовательность шестнадцати битовых символов Юникода. (Унаследовано от Object) |
IJavaPeerable.Finalized() |
Подсистема, которая может преобразовать последовательность байтов в определенной кодировке в последовательность шестнадцати битовых символов Юникода. (Унаследовано от Object) |
IJavaPeerable.JniManagedPeerState |
Подсистема, которая может преобразовать последовательность байтов в определенной кодировке в последовательность шестнадцати битовых символов Юникода. (Унаследовано от Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Подсистема, которая может преобразовать последовательность байтов в определенной кодировке в последовательность шестнадцати битовых символов Юникода. (Унаследовано от Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Подсистема, которая может преобразовать последовательность байтов в определенной кодировке в последовательность шестнадцати битовых символов Юникода. (Унаследовано от Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Подсистема, которая может преобразовать последовательность байтов в определенной кодировке в последовательность шестнадцати битовых символов Юникода. (Унаследовано от Object) |
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверенного средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
Подсистема, которая может преобразовать последовательность байтов в определенной кодировке в последовательность шестнадцати битовых символов Юникода. |
GetJniTypeName(IJavaPeerable) |
Подсистема, которая может преобразовать последовательность байтов в определенной кодировке в последовательность шестнадцати битовых символов Юникода. |