Haskell 数据。Bytestring长度给出了错误的长度

Haskell 数据。Bytestring长度给出了错误的长度,haskell,Haskell,我试图制作一个程序,将输入字符串的长度作为计算的一部分 我想使用ByteString来加快速度,因为输入字符串可能非常长注意:我真的不知道ByteString是什么,我只是听说当输入很大时它比字符串快 但是,在执行类似操作时: import qualified Data.ByteString as B main = do line <- B.getLine putStrLn . show $ B.length line 如果我传递字符串:1088886945041835

我试图制作一个程序,将输入字符串的长度作为计算的一部分

我想使用ByteString来加快速度,因为输入字符串可能非常长注意:我真的不知道ByteString是什么,我只是听说当输入很大时它比字符串快

但是,在执行类似操作时:

import qualified Data.ByteString as B

main = do
    line <- B.getLine
    putStrLn . show $ B.length line
如果我传递字符串:10888869450418352160768000000

我得到30,但长度是29


有人知道为什么吗?

B.getLine在它生成的ByteString中包含输入末尾的换行符

B.getLine在它生成的ByteString中包含输入末尾的换行符

结尾换行?结尾换行?