那是什么类型的编码
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 编码的字符串。
我有一个包含很多行的转储文件,如下所示:
143635343039
DEE1D3E8_D4D2[=10=]27D3D9D9
我假设上面的字符串 do 表示“Джедаи”(俄语)和“מסדר_הג'דיי”(希伯来语)。
如何解码这些字符串?
那是哪个编码?
该文件包含格式化为 16 位十六进制字符串的 UTF-16 代码单元,每个都以 $
开头。 מסדר_הג'דיי
中的 _
ASCII 字符 (U+005F) 除外,它已按原样写入文件,而不是经过十六进制编码。奇怪的是,מסדר_הג'דיי
中的 '
ASCII 字符 (U+0027) 已被十六进制编码。
要对此进行解码,您需要一次读取文件一个字符。当您检测到 $
字符时,跳过它并将接下来的 4 个字符十六进制解码为 16 位值,否则将字符按原样视为 16 位值。将这些 16 位值构建一个字符串,您将得到一个 UTF-16 编码的字符串。