那是什么类型的编码

what type of encode is that

我有一个包含很多行的转储文件,如下所示:

143635343039
DEE1D3E8_D4D2[=10=]27D3D9D9

我假设上面的字符串 do 表示“Джедаи”(俄语)和“מסדר_הג'דיי”(希伯来语)。

如何解码这些字符串?
那是哪个编码?

该文件包含格式化为 16 位十六进制字符串的 UTF-16 代码单元,每个都以 $ 开头。 מסדר_הג'דיי 中的 _ ASCII 字符 (U+005F) 除外,它已按原样写入文件,而不是经过十六进制编码。奇怪的是,מסדר_הג'דיי 中的 ' ASCII 字符 (U+0027) 已被十六进制编码。

要对此进行解码,您需要一次读取文件一个字符。当您检测到 $ 字符时,跳过它并将接下来的 4 个字符十六进制解码为 16 位值,否则将字符按原样视为 16 位值。将这些 16 位值构建一个字符串,您将得到一个 UTF-16 编码的字符串。