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