[英]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.fromString
和BS.length
可能是您要使用的函數,但是您的字符串可能應該已經是字節字符串,這樣您才能對將它們編碼為這樣的字節數感興趣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.