将扩展的ASCII字符代码转换为ISO-8859-1

时间:2016-12-20 13:23:42

标签: c# encoding character-encoding

我正在从遗留系统移植数据,但我不确定它在内部使用什么编码来存储数据。我注意到数据对应于ASCII码值(即字符ë,或带有分音符的小写字母e,按照this图表存储为字节值137)。

我需要使用ISO-8859-1为目标系统对数据进行编码,但显然使用数据会产生不正确的结果(在I​​SO-8859-1中,每千米符号用十进制137表示,如每this图表)。

我需要一些关于读取数据时可以使用的编码的建议 - 即与十进制ASCII代码值对应的编码。

1 个答案:

答案 0 :(得分:1)

我在this SO帖子中找到了答案。事实证明,代码页437对应于扩展的ASCII字符代码。因此,我能够按如下方式重新编码数据:

var output = Encoding.Convert(Encoding.GetEncoding(437), Encoding.GetEncoding("ISO-8859-1"), input);