簡體   English   中英

在Haskell中,如何獲取UTF8字符串中的字節數?

[英]In Haskell how do I get the number of bytes in a UTF8 string?

說我有UTF8字符串"Hello Snowman ☃!" 它有16個字符,占用18個字節。 如何獲取haskell來顯示此字符串占用的字節數?

我嘗試使用Data.ByteArray,Data.Text,ByteString,在每種情況下我都提出了建議。

您可以為此使用出色的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.fromStringBS.length可能是您要使用的函數,但是您的字符串可能應該已經是字節字符串,這樣您才能對將它們編碼為這樣的字節數感興趣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM