Sea*_*ess 4 parsing haskell utf-8
我有一个300MB的文件(链接),其中包含utf-8字符.我想写一个相当于的haskell程序:
cat bigfile.txt | grep "^en " | wc -l
Run Code Online (Sandbox Code Playgroud)
这在我的系统上以2.6s运行.
现在,我正在将该文件作为普通字符串(readFile)读取,并具有:
main = do
contents <- readFile "bigfile.txt"
putStrLn $ show $ length $ lines contents
Run Code Online (Sandbox Code Playgroud)
几秒钟后,我收到此错误:
Dictionary.hs: bigfile.txt: hGetContents: invalid argument (Illegal byte sequence)
Run Code Online (Sandbox Code Playgroud)
我想我需要使用更友好的utf-8?如何快速兼容utf-8?我读到了Data.ByteString.Lazy的速度,但Real World Haskell说它不支持utf-8.
包utf8-string支持读写UTF8字符串.它重用了ByteString
基础设施,因此界面可能非常相似.
另一个可能与上述相关的Unicode字符串项目也受到ByteStrings的启发,在本硕士论文中进行了讨论.
归档时间: |
|
查看次数: |
1541 次 |
最近记录: |