首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Haskell中,如何获得UTF8字符串中的字节数?

问在Haskell中,如何获得UTF8字符串中的字节数?
EN

Stack Overflow用户
提问于 2017-07-03 02:16:35
回答 1查看 658关注 0票数 3

假设我有UTF8字符串"Hello Snowman ☃!"。它有16个字符,占用18个字节。如何让haskell显示该字符串占用的字节数?

我试过使用Data.ByteArray、Data.Text、ByteString,在每一种情况下,我都遇到了不足。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-03 02:42:28

为此,您可以使用优秀的UTF8字符串包。

代码语言:javascript
复制
import qualified Data.ByteString as BS
import qualified Data.ByteString.UTF8 as UTF8

numBytesUtf8 :: String -> Int
numBytesUtf8 = BS.length . UTF8.fromString

然后,用你的例子,

代码语言:javascript
复制
ghci> numBytesUtf8 "Hello Snowman ☃!"
18

当然,你可能一开始就不应该这么做。UTF8.fromString和BS.length可能是您想要使用的函数,但是您的字符串应该已经是字节了,这样您才会对编码它们所需的字节数感兴趣。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44876904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档