ASCII码0x00A0如何变成0x00E1
How does ASCII 0x00A0 becomes 0x00E1
我正在对一个旧的解析器应用程序进行逆向工程,文本文件中的 ASCII 代码 00A0(“NO-BREAK SPACE”)被解析为 00E1(“带尖音符号的拉丁文小写字母 A” ).
发生了何种编码或强制转换,如何在 C# 中重现此行为?
看起来像 CP 850 (DOS) 编码:https://en.wikipedia.org/wiki/Code_page_850
您可以通过 Encoding.GetEncoding(850)
获得该代码页的编码。
见https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding?view=net-5.0
请记住,有多个相似的代码页略有不同。因为...标准。
我正在对一个旧的解析器应用程序进行逆向工程,文本文件中的 ASCII 代码 00A0(“NO-BREAK SPACE”)被解析为 00E1(“带尖音符号的拉丁文小写字母 A” ).
发生了何种编码或强制转换,如何在 C# 中重现此行为?
看起来像 CP 850 (DOS) 编码:https://en.wikipedia.org/wiki/Code_page_850
您可以通过 Encoding.GetEncoding(850)
获得该代码页的编码。
见https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding?view=net-5.0
请记住,有多个相似的代码页略有不同。因为...标准。