这是用Python的repr()打印时的数据:专有软件
test1的test1test1test test1test1 test1test2测试1测试1测试1测试1测试1测试1测试1
我能猜出它的一些:
它是从左上角的单元格开始,然后是逐列,接着是逐个单元格。意思是最后一个值
任何人都知道数据是否遵循标准或有任何提示如何解码它吗?
谢谢! python的示例:
q431207 8q
#1 楼
这是我认为各个符号含义的解释。我基于这样一个假设,即一个小选择器正在一个接一个地遍历单元格。\xFF
=接下来是一个字符串,\x05
紧跟在字符串之后,以定义将字符串与选择器当前位置的位移量,如果有的话。 \xNumber
=长度为数字的字符串\xNumber string
=可能是一个字节,表示不替换当前字符串,并假定下一个数据段正在定义要放在下一个单元格中的字符串。含义可疑。\x2A
=将选择器移至\x04 \xNumber
单元格前面,并将先前的字符串放入其中。 。\xNumber
=将先前使用的字符串放在当前字符串之后的单元格中。所以这是我对您提供给我们的数据的解释:
0 \x00 \x0Number
=两个空单元格\xNumber
=单个字符串,带有字符串的单元格,放在空单元格之后,原因是@
跟随字符串>
\xFF\xFF
=字符串。\x05
=另一个字符串放入后面的单元格中。不需要数字,因为\ x2A表示它正好在“ test”之后放置\x2A
=首次放置“ test1”字符串后,将“ test1”放置到单元格中。 /> \x04 test
=将选择器向前移动三个单元格,然后将test1放置在它所着陆的地方。两个单元格。\x2A \x05 test1
=新列。@
=使用最后定义的字符串(test1),将其放入列的前两个单元格。 \x04 \x03
=将一个单元格放在三个单元格后词。@@
=将test1放在test2之后的单元格6中\x04 \x05 @
=再次放置test1。0
=移至下一列\x00 \x00 @
=将上一个字符串放置在位置01 \x05 \x05 test2 \x03
=并且在位置02 \x05\x05test1\x06
=完成说明:我的方法是寻找一种模式,检查该模式是否经受住了进一步的审查-我检查的第一个模式似乎可以-清除我遇到的所有小问题。似乎奏效了。
评论
请正确设置答案的格式。 @ 0xC0000022L这次为您做了。
–asheeshr
13年5月5日在3:46
评论
你有模块本身吗?假设repr函数以C扩展模块中的正常方式注册,则反汇编repr函数几乎是微不足道的。我不确定我是否理解“模块”的含义。但是这里是十六进制0xFFFF050474657374024105746573743140040340400405403000004005057465737432030505746573743106403000014000中的数据。我使用repr()只是为了消除python中的'解码错误-输出不是utf-8'消息,因此您可以忽略它。
数据属于某种对象,通常属于模块,例如您在Python中导入的对象;)
数据来自MSSQL数据库中的[varbinary](max)字段,供专有和不合作的软件使用。
拥有处理数据的软件将很有意义。看这里。基本上没有什么信息对您有帮助。