【发布时间】:2019-01-19 15:31:30
【问题描述】:
字符转换问题。 我有一些编码或解码不正确的字符串。 字符串以 ASCII 格式的 CSV 文件出现。
我目前拥有的字符串是:
N‚met
Tet‹
我知道:
"‚" character (0x82) should be originally "é" (é acute accent)
"‹" character (0x8B) should be originally "ő" (o double acute accent)
如何调试和逆向工程,原始字符发生了哪些转换以获得当前字符?
我想发生了多次解码编码,但我无法重现原始字符。
【问题讨论】:
-
您的查看器使用了 1252 (en.wikipedia.org/wiki/Windows-1252),而您的原始输入使用了一些其他编码,可能基于 DOS 437:en.wikipedia.org/wiki/Code_page_437 您可以查看页面上的 CP (en.wikipedia.org/wiki/Character_encoding):最常见的。也许是 852(中欧)。
-
@GiacomoCatenazzi:你是对的。请张贴作为答案,我会接受的。我用以下站点进行了测试:string-functions.com/encodedecode.aspx 输入:“ő”,选择 IBM852 作为 Encode,选择 Windows-1252。结果将是:“‹”。输入:“é”,选择IBM852作为Encode,选择Windows-1252。结果将是:“,”。非常感谢!
-
@GiacomoCatenazzi:但是我无法将结果从“,”反转为“é”。有可能吗?
-
@GiacomoCatenazzi:简单来说就是DOS CP852代码页文本,在Windows环境下显示,Windows-1252编码。请将此作为答案发布,我将接受它作为解决方案。
标签: debugging character-encoding char non-ascii-characters file-conversion