我想简单地将 UTF-8 编码的数据输出到控制台。
我已经成功地使用 String
完成了这个任务。 ,但现在我想对 ByteString
做同样的事情.有没有一种很好又快速的方法来做到这一点?
这是我到目前为止所得到的,但它不起作用:
import Prelude hiding (putStr)
import Data.ByteString.Char8 (putStr, pack)
main :: IO ()
main = putStr $ pack "čušpajž日本語"
它打印出
uapaj~�,�
,呃。我想要最新 GHC 6.12.1 的最佳答案,尽管我也想听听以前版本的答案。
谢谢!
更新:简单地读取和输出相同的 UTF-8 编码的文本行似乎可以正常工作。 (使用
Data.ByteString.Char8
,我只是做一个 putStr =<< getLine
。)但是 .hs 文件中的打包值,如上例所示,拒绝正确输出......我一定做错了什么?
最佳答案
utf8-string
支持字节串。
import Prelude hiding (putStr)
import Data.ByteString.Char8 (putStr)
import Data.ByteString.UTF8 (fromString)
main :: IO ()
main = putStr $ fromString "čušpajž日本語"
关于unicode - 使用 Haskell 输出 UTF-8 编码的 ByteString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2086842/