我会定期收到编码的PDF文件。编码如下:
因此,示例如下:
13579 -> 3579; hello -> jgnnq
它基本上是ASCII字符的偏移量(也许是交换)。
问题是当我只能访问几个样本时如何自动找到偏移量。我不确定编码偏移量是否已更改。我所知道的是,PDF中通常会显示一些文本(如果不是总是的话),例如“名称:”,“摘要:”,“总计:”。
谢谢!
您需要对其进行暴力破解。
如果这些模式很简单,例如示例中的+2个字符代码(即+2个字符代码)
h i j e f g l m n l m n o p q 1 2 3 3 4 5 5 6 7 7 8 9 9 : ;
您可以像这样轻松实施以检查已知单词
>>> text='jgnnq' >>> knowns=['hello', '13579'] >>> >>> for i in range(-5,+5): #check -5 to +5 char code range ... rot=''.join(chr(ord(j)+i) for j in text) ... for x in knowns: ... if x in rot: ... print rot ... hello