ByteStrings をさまざまなエンコーディングから Text にデコードする必要がありますが、ByteStrings は不完全なフラグメントである可能性があります。理想的には、次のような署名を持つ関数が必要です。
decodeFragment :: Encoding -> ByteString -> (Text, ByteString)
これは、正常にデコードされた Text と、完全な Unicode 文字を形成しなかった残りのバイトを返します (したがって、次のフラグメントを取得するときにそれらのバイトを再利用できます)。
この種の関数は既にいくつかの Haskell ライブラリに存在しますか?それとも自分で作成する必要がありますか? 今のところ、UTF-8 を超えるエンコーディングをサポートしていないものから始めることもできます。