gpt4 book ai didi

haskell - 从 Haskell ByteString 中删除 BOM 的最简单方法

转载 作者:行者123 更新时间:2023-12-05 00:14:16 26 4
gpt4 key购买 nike

我有 LazyByteString 可能以 BOM 开头.从这个 ByteString 中删除 BOM 的最简单和最有效的方法是什么? ?

最佳答案

我觉得我一定是误解了这个问题。这不是归结为检查字节串的前三个字节并有条件地删除这些字节吗?

  • 要获取前 3 个字节,请使用 take .
  • 要检查字节串是否相等,请使用 (==) .
  • 要删除前 3 个字节,请使用 drop .

  • 把这些放在一起,我们得到:
    import Data.ByteString.Lazy as BS
    dropBOM bs | BS.take 3 bs == BS.pack [0xEF,0xBB,0xBF] = BS.drop 3 bs
    | otherwise = bs

    然而,即使在处理了大量 utf8 之后,我也从未觉得我需要明确处理 BOM,这要归功于像 Text 这样的包提供了大多数所需的操作。也许你可以用另一种方式来解决你的问题,而不是手动修改字节串。

    关于haskell - 从 Haskell ByteString 中删除 BOM 的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47367728/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com