Text 这个二进制字符串是什么编码?

Text 这个二进制字符串是什么编码?,text,encoding,binary,Text,Encoding,Binary,我有一个二进制数据文件,需要从中检索一些数据。通过反复试验和十六进制编辑器的帮助,我已经确定了我需要的文本区域,但我不确定使用了什么编码 每个字符使用两个字节,但在我的示例集中,第二个字节总是空的 1F00 : a 1C00 : b 1A00 : d 1B00 : e 1900 : g 1600 : h 1700 : i 1500 : k 1200 : l 1000 : n 1100 : o 0E00 : p 0F00 : q 0C00 : r 0D00 : s 0A00 : t 0B00 :

我有一个二进制数据文件,需要从中检索一些数据。通过反复试验和十六进制编辑器的帮助,我已经确定了我需要的文本区域,但我不确定使用了什么编码

每个字符使用两个字节,但在我的示例集中,第二个字节总是空的

1F00 : a
1C00 : b
1A00 : d
1B00 : e
1900 : g
1600 : h
1700 : i
1500 : k
1200 : l
1000 : n
1100 : o
0E00 : p
0F00 : q
0C00 : r
0D00 : s
0A00 : t
0B00 : u
0800 : v
0900 : w

5000 : .
5E00 :   <- space

3F00 : A
3C00 : B
3D00 : C
3A00 : D
3B00 : E
2D00 : S
很明显,奇怪的是0x41不是A,字母表甚至不是连续的。有可能使用了一些奇怪的密码,但我对此表示怀疑


Joop Eggen找到了下面的解决方案-一个简单的xor

如果您在linux上尝试使用enca(它检测文本文件的字符集和编码,还可以将它们转换为其他编码)。

您可能已经看到了它,但可以看到异或。 这是一个穷人的加密,每个字符都是int:

code = (plain ^ 0x7e) << 8

code=(普通^0x7e)肯定有一种模式:

    04  05  06  07  08  09  0A  0B  0C  0D  0E  0F  10  11  12  13  14  15  16  17  18  19  1A  1B  1C  1D  1E  1F  
a                                                                                                               x   a
b                                                                                                   x               b
c                                                                                                       x           c
d                                                                                           x                       d
e                                                                                               x                   e
f                                                                                   x                               f
g                                                                                       x                           g
h                                                                           x                                       h
i                                                                               x                                   i
j                                                                   x                                               j
k                                                                       x                                           k
l                                                           x                                                       l
m                                                               x                                                   m
n                                                   x                                                               n
o                                                       x                                                           o
p                                           x                                                                       p
q                                               x                                                                   q
r                                   x                                                                               r
s                                       x                                                                           s
t                           x                                                                                       t
u                               x                                                                                   u
v                   x                                                                                               v
w                       x                                                                                           w
x           x                                                                                                       x
y               x                                                                                                   y
z   x                                                                                                               z
    04  05  06  07  08  09  0A  0B  0C  0D  0E  0F  10  11  12  13  14  15  16  17  18  19  1A  1B  1C  1D  1E  1F  

似乎是一个替换密码。
1200
总是
l
?我猜这是某种特殊编码,可能与旧的打印机方案或键盘布局有关。它不是EBCDIC(与穿孔卡片布局相关),但还有几十种其他的有些编码方案(有些是RFC驱动的,有些是非常模糊的)只使用某些字母来避免混淆。你的和我熟悉的不匹配,但你可能会有一些想法。在阅读了Base32上的所有不同变体后,我很感兴趣。Blender-是的,在不同的文件中,这些值是一致的(
0x1200
总是
l
)。问题是,我的理解是,这些文件也可以支持unicode数据-我将看看是否可以得到任何示例文件来证明我不在linux上,但我想到了一些类似的东西,并怀疑它是否会起作用——因为我只是从一个二进制文件的中间提取一个块,没有任何头数据等。因为我得到的示例数据非常简单(都是单字节双字节编码),这也不是很有帮助。啊哈-就是这样!我只是用二进制写了一些,看看是否有简单的事情发生。非常感谢!
    04  05  06  07  08  09  0A  0B  0C  0D  0E  0F  10  11  12  13  14  15  16  17  18  19  1A  1B  1C  1D  1E  1F  
a                                                                                                               x   a
b                                                                                                   x               b
c                                                                                                       x           c
d                                                                                           x                       d
e                                                                                               x                   e
f                                                                                   x                               f
g                                                                                       x                           g
h                                                                           x                                       h
i                                                                               x                                   i
j                                                                   x                                               j
k                                                                       x                                           k
l                                                           x                                                       l
m                                                               x                                                   m
n                                                   x                                                               n
o                                                       x                                                           o
p                                           x                                                                       p
q                                               x                                                                   q
r                                   x                                                                               r
s                                       x                                                                           s
t                           x                                                                                       t
u                               x                                                                                   u
v                   x                                                                                               v
w                       x                                                                                           w
x           x                                                                                                       x
y               x                                                                                                   y
z   x                                                                                                               z
    04  05  06  07  08  09  0A  0B  0C  0D  0E  0F  10  11  12  13  14  15  16  17  18  19  1A  1B  1C  1D  1E  1F