GHC.IO.Encoding.Failure
| Авторские права | (c) Университет Глазго, 2008-2011 |
|---|---|
| Лицензия | см. libraries/base/LICENSE |
| Поддержка | libraries@haskell.org |
| Стабильность | внутренняя |
| Переносимость | непереносимая |
| Safe Haskell | Надежный |
| Язык | Haskell2010 |
Описание
Типы для указания способов, которыми может произойти сбой кодирования/декодирования текста
data CodingFailureMode Источник
CodingFailureMode используется для создания TextEncoding, и определяет, как они обрабатывают неверные последовательности.
Конструкторы
| ErrorOnCodingFailure | Выбрасывает ошибку при обнаружении неверной последовательности |
| IgnoreCodingFailure | Попытка пропустить и восстановиться при обнаружении неверной последовательности |
| TransliterateCodingFailure | Замена на ближайший визуальный аналог при обнаружении неверной последовательности |
| RoundtripFailure | Использование механизма экранирования для частного использования для попытки разрешить возврат неверных последовательностей. |
Примеры
codingFailureModeSuffix :: CodingFailureMode -> String Источник
isSurrogate :: Char -> Bool Источник
Некоторые символы фактически являются кодовыми точками "замещения", определенными для использования в UTF-16. Нам необходимо указать неверный символ, если мы обнаружим их при кодировании последовательности Char в Word8, потому что они не дадут допустимого Unicode.
Возможно, нам также потребуется указать неверный символ, если мы обнаружим их при кодировании последовательности Char в Word8, потому что режим RoundtripFailure создает их для обратного преобразования байтов через нашу внутреннюю кодировку UTF-16.
recoverDecode :: CodingFailureMode -> Buffer Word8 -> Buffer Char -> IO (Buffer Word8, Buffer Char) Источник
recoverEncode :: CodingFailureMode -> Buffer Char -> Buffer Word8 -> IO (Buffer Char, Buffer Word8) Источник
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/base-4.8.2.0/GHC-IO-Encoding-Failure.html