首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在执行Boyer-Moore模式匹配时,我必须考虑编码吗?

在执行Boyer-Moore模式匹配时,我必须考虑编码吗?
EN

Stack Overflow用户
提问于 2011-05-19 16:41:15
回答 1查看 381关注 0票数 3

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

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

在许多其他情况下,将字符视为字节将是一个问题,因为根据编码的不同,一个字符可能由多个字节组成,但在我的例子中,如果两个字符串具有相同的编码,那么相等的字符将由相等的字节序列表示,因此我假设这并不重要。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-20 13:50:34

如果self-synchronizing,则多字节编码可以与面向字节的搜索例程一起使用。

因此,您可以通过以下方式安全地使用Boyer-Moore:

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

不能将其与一起使用:

ISO 2022

  • Johab

  • Punycode

  • Shift-JIS

  • UTF-7

  • UTF-16

  • UTF-32

  • Big5
  • EUC-JP
  • GBK /GB18030
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6055964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档