假设我有UTF8字符串"Hello Snowman ☃!"。它有16个字符,占用18个字节。如何让haskell显示该字符串占用的字节数?
我试过使用Data.ByteArray、Data.Text、ByteString,在每一种情况下,我都遇到了不足。
发布于 2017-07-03 02:42:28
为此,您可以使用优秀的UTF8字符串包。
import qualified Data.ByteString as BS
import qualified Data.ByteString.UTF8 as UTF8
numBytesUtf8 :: String -> Int
numBytesUtf8 = BS.length . UTF8.fromString然后,用你的例子,
ghci> numBytesUtf8 "Hello Snowman ☃!"
18当然,你可能一开始就不应该这么做。UTF8.fromString和BS.length可能是您想要使用的函数,但是您的字符串应该已经是字节了,这样您才会对编码它们所需的字节数感兴趣。
https://stackoverflow.com/questions/44876904
复制相似问题