2

Word8 から Text に変換する最良の方法を探しています。問題は、Heist に runChildrenWithText 関数を使用するとバインディングにテキスト入力が必要になることですが、getParam 機能は Word8 に変換できる ByteStrings を返しますが、これらの形式のいずれかからの Text は返しません。 、そのため、ここからどこへ行くかを決めるのに苦労しています。これを解決するための最良の方法に関する助けをいただければ幸いです。

4

1 に答える 1

5

このData.Text.Encodingsパッケージには、 を に変換する多くの方法がありByteStringますTextByteStringtoTextエンコーディングが失敗する可能性があることに注意してください(たとえば、 に UTF-8 データが含まれていると想定してByteStringいますが、実際にはそうではありません) convert :: ByteString -> Text

つまり、decodeUtf8 :: ByteString -> Text不純な例外がスローされるためdecodeUtf8' :: ByteString -> Either UnicodeException Text、デコードに失敗する可能性がある場合に適している可能性があります。

decodeUtf8With :: OnDecodeError -> ByteString -> Textと を使用して、より洗練されたデコード失敗ハンドラー スキームを構築することもできますData.Text.Encodings.Error

于 2013-07-30T16:37:05.580 に答える