String 解码传统二进制格式

String 解码传统二进制格式,string,unicode,internationalization,decode,String,Unicode,Internationalization,Decode,我试图找出如何解码来自Windows应用程序的“遗留”二进制文件(anno±1990)。具体地说,我很难理解存储的字符串使用了什么特定的编码 示例:unicode字符串“Düsseldorf”表示为“Du\06sseldorf”或十六进制“44 75 06 73 65 6C 64 6F 72 66”,其中所有内容都是单字节,但“u+\06”神秘地变成了u-umlaut 它是完全专有的吗?有什么想法吗?因为这个应用程序早于DBCS和Unicode,我怀疑它是专有的。看起来他们可能正在使用31以下的

我试图找出如何解码来自Windows应用程序的“遗留”二进制文件(anno±1990)。具体地说,我很难理解存储的字符串使用了什么特定的编码

示例:unicode字符串“Düsseldorf”表示为“Du\06sseldorf”或十六进制“44 75 06 73 65 6C 64 6F 72 66”,其中所有内容都是单字节,但“u+\06”神秘地变成了u-umlaut


它是完全专有的吗?有什么想法吗?

因为这个应用程序早于DBCS和Unicode,我怀疑它是专有的。看起来他们可能正在使用31以下的非ASCII值来表示各种重音符号

\06
可能表示“将umlaut放在前一个字符上”


尝试将字符串替换为
“Du\05sseldorf”
,然后查看重音是否在u。然后尝试其他介于1和31之间的转义值,我怀疑您可能能够找到这些转义字符的映射。当然,一旦你有了地图,你就可以很容易地创建一个例程,用合适的现代Unicode字符串替换所有字符串,并使用适当的重音符号。

谢谢!我将使用映射表。