String 执行Boyer-Moore模式匹配时是否必须考虑编码?
我即将实现Boyer-Moore模式匹配算法的一个变体(具体来说是Sunday算法),我问自己:我的字母表大小是多少 这取决于编码(=可能的字符数)还是我可以假设我的字母表由256个符号组成(=可以用一个字节表示的符号数) 在许多其他情况下,将字符视为字节将是一个问题,因为根据编码的不同,一个字符可以由多个字节组成,但在我的例子中,如果两个字符串具有相同的编码,那么相等的字符由相等的字节序列表示,因此我认为这无关紧要String 执行Boyer-Moore模式匹配时是否必须考虑编码?,string,character-encoding,pattern-matching,boyer-moore,String,Character Encoding,Pattern Matching,Boyer Moore,我即将实现Boyer-Moore模式匹配算法的一个变体(具体来说是Sunday算法),我问自己:我的字母表大小是多少 这取决于编码(=可能的字符数)还是我可以假设我的字母表由256个符号组成(=可以用一个字节表示的符号数) 在许多其他情况下,将字符视为字节将是一个问题,因为根据编码的不同,一个字符可以由多个字节组成,但在我的例子中,如果两个字符串具有相同的编码,那么相等的字符由相等的字节序列表示,因此我认为这无关紧要 那么:我是否必须考虑编码并假设一个由实际字符组成的字母表(Unicode大于9
那么:我是否必须考虑编码并假设一个由实际字符组成的字母表(Unicode大于90000),或者我是否可以将文本和模式作为字节流处理 多字节编码可与面向字节的搜索例程一起使用,如果是这样的话 因此,您可以安全地使用Boyer Moore:
- CESU-8
- UTF-8
- UTF-EBCDIC
- 大5
- EUC-JP
- GBK/GB18030
- ISO 2022
- 约翰
- 小码
- 轮班JIS
- UTF-7
- UTF-16
- UTF-32