Data.Bytestring长度给出错误的长度

Amo*_*moz 1 haskell

我正在尝试制作一个程序,该程序使用输入字符串的长度作为计算的一部分。

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

但是,当执行以下操作时:

import qualified Data.ByteString as B

main = do
    line <- B.getLine
    putStrLn . show $ B.length line
Run Code Online (Sandbox Code Playgroud)

如果我要传递字符串:10888869450418352160768000000

我得到30,但长度为29。

有人知道为什么吗?

Car*_*arl 5

B.getLineByteString产生的输入结尾处包含换行符。