Textインスタンスを取得するときにutf8文字を解析するのに問題がありReadます。たとえば、ghciで次のように実行すると...
> import Data.Text
> data Message = Message Text deriving (Read, Show)
> read ("Message \"→\"") :: Message
Message "\8594"
Messageutf-8内のテキストをエンコードしておくために何かできますか?つまり、結果は次のようになります...
Message "→"
(PS私はすでにシリアル化されたメッセージをとして受信していますTextが、現在、電話をかけるためににunpack送信する必要があります。これを避けたいです...)Stringread
編集:ああ、申し訳ありませんが、答えは正しく、どちらに変換されるかでshowはないことを指摘しています-バックスラッシュエンコーディングなしで再び変換する方法はありますか?read"\8594"showText