我有一个转储文件,其中包含很多这样的行:
$0414$0436$0435$0434$0430$0439
$05DE$05E1$05D3$05E8_$05D4$05D2$0027$05D3$05D9$05D9
我认为上面的字符串表示“Джедаи”(俄语)和“מסדר_הג'דיי”(希伯来语)。
如何解码这些字符串?
编码是哪种?
答案 0 :(得分:2)
该文件包含格式为16位十六进制字符串的UTF-16代码单元,每个字符串以$
开头。除了_
中的מסדר_הג'דיי
ASCII字符(U + 005F),它已按原样写入文件而不是十六进制编码。奇怪的是,'
中的מסדר_הג'דיי
ASCII字符(U + 0027)已经过十六进制编码。
要对此进行解码,您一次只能读取一个字符。当您检测到$
字符时,跳过它并将接下来的4个字符十六进制解码为16位值,否则将该字符视为16位值。构建这些16位值的字符串,您将拥有一个UTF-16编码的字符串。