Мне нужно декодировать ByteStrings из различных кодировок в текст, но ByteStrings могут быть неполными фрагментами. В идеале мне понадобится функция с подписью чего-то вроде:
decodeFragment :: Encoding -> ByteString -> (Text, ByteString)
, которая возвращает успешно декодированный текст, а также любые оставшиеся байты, которые не сформировали полный символ Юникода (так что я могу повторно использовать эти байты, когда получу следующий фрагмент).
Существует ли такая функция уже в какой-нибудь библиотеке Haskell, или мне нужно откатить свою? На данный момент я мог бы даже начать с чего-то, что не поддерживает кодировки за пределами UTF-8.