我在python中构建了一个小模块,它获取了相同大小的字符串/缓冲区列表,并返回相同大小的xor
字符串。然后,使用该字符串和n-1
字符串,我可以完成丢失的字符串。
它的效果很好,所以我的问题是:
假设我有4个字符串:
一个。 “你好”
湾“视线”
C。 “知更鸟”
d。 “约”
有没有办法建立一个相同大小(或更大)的新字符串,如果我有那个字符串,还有2个字符串,例如'a'和'b'我可以完成'c'和'd “?
答案 0 :(得分:0)
(1)不太可能有一个已发布的模块。
(2)我认为你的意思是a ^ b ^ c ^ d == e
,如果已知b和e的值,你会问c和d的值是否可以恢复(“完成”)。这个问题的答案是否定的 - 你有一个有两个未知数的等式。
更新以回答问题“所以,如果我理解正确的话,没有比我做的XOR更好的解决方案了吗?”
不,我指出使用XOR只能恢复一个丢失的字符串。您可能希望通过网络搜索“纠错码”。
答案 1 :(得分:0)
找到这样的对的算法很简单 - 每个可能的'c'找到匹配的'd'。你会得到很多解决方案。显然你不能得到单对('c','d'),因为那时你可以在两个字符串中切换一位(两者中的相同位)并获得不同的解决方案。