我有一个 base64 编码的字符串。如何搜索此字符串以检查此字符串是否包含未编码的特定子字符串?我不想解码那个字符串然后搜索它。
我可以只对那个特定的子字符串进行编码,然后使用编码的子字符串搜索编码的字符串吗?
谢谢,
最佳答案
最好的方法可能就是解码字符串。但是,如果真的有必要,可以即时执行此操作,而不是先进行完整解码再进行搜索。您必须执行一次搜索,并且只解码您当前正在检查的那部分。这很可能仅在您确实不想(或不能)在内存中存储两次的非常非常大的字符串时才有用。
如果您搜索的字符串足够长,您还可以使用不同的填充(例如 ''、'x' 和 'xx')对该字符串进行三次编码,然后搜索没有前 4 个字符和后 4 个字符的字符串(你不想匹配填充)。当您找到匹配项时,您必须确保对齐与填充相对应,并验证您尚未匹配的部分(由于填充)是否也到位。当然,后者确实需要一些解码。
关于java - Base64编码字符串搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/347235/