回到白天,每个人都习惯用文字处理String.但是后来有些人指出这实际上是非常非常低效的,并且ByteString包装诞生了.
ByteString非常适合处理二进制数据.但很快人们就指出这ByteString.Char8实际上是一个巨大的问题,你真正想要的是对外部数据进行真正的 Unicode处理.有了它,用于处理打包的Unicode字符串的大约30个类似但不兼容的Haskell包诞生了.并且他们都没有真正获得任何牵引力,因为......好吧,三十太多了!
我的问题:这个问题已修复了吗?换句话说,社区是否已经选择了一个包来完成这项工作?如果是这样,那是哪一个?
Chr*_*lor 11
我相信目前的黄金标准是Data.Text,您可以安装它
$ cabal install text
Run Code Online (Sandbox Code Playgroud)
你应该导入哪个合格的
import qualified Data.Text as T
Run Code Online (Sandbox Code Playgroud)
您Text可以通过显式转换来创建代码中的值String,如
>> let str = T.pack "Hello, world"
Run Code Online (Sandbox Code Playgroud)
或者使用OverloadedStrings语言扩展名
>> :set -XOverloadedStrings
>> let str = "Hello, world" :: Text
Run Code Online (Sandbox Code Playgroud)