gpt4 book ai didi

string - 执行 Boyer-Moore 模式匹配时是否必须考虑编码?

转载 作者:行者123 更新时间:2023-12-04 03:12:01 24 4
gpt4 key购买 nike

我即将实现 Boyer-Moore 模式匹配算法的变体(具体来说是星期日算法),我问自己:我的字母表大小是多少?

这取决于编码(= 可能的字符数)还是我可以假设我的字母表包含 256 个符号(= 可以用一个字节表示的符号数)?

在许多其他情况下,将字符视为字节会是一个问题,因为根据编码,一个字符可以由多个字节组成,但如果在我的例子中两个字符串具有相同的编码,那么相同的字符由相同的字节序列表示,所以我认为这无关紧要。

所以:我是否必须考虑编码并假设一个由实际字符组成的字母表(> 90000 对于 Unicode),或者我是否可以将文本和模式作为字节流处理?

最佳答案

多字节编码可用于面向字节的搜索例程IF它是self-synchronizing .

因此,您可以安全地将 Boyer-Moore 用于:

  • CESU-8
  • UTF-8
  • UTF-EBCDIC

但可以将它用于:

  • Big5
  • EUC-JP
  • 国标/国标18030
  • 国际标准化组织 2022
  • 乔哈布
  • Puny代码
  • Shift-JIS
  • UTF-7
  • UTF-16
  • UTF-32

关于string - 执行 Boyer-Moore 模式匹配时是否必须考虑编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6055964/

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