我有一个基于C#表单的程序,一直在使用
System.Text.Encoding.GetEncoding(1252)
但是我读取非英语字符时遇到了问题,我发现
System.Text.Encoding.GetEncoding(1255)
可以解决这个问题,但我不知道更改这个设置会有什么影响,希望有人能解释一下它们之间的区别和可能的影响。
字符编码1255包括希伯来符号,而1252则面向西方语言。这是否意味着非英语符号恰好是希伯来语?
1252是Windows-1252西欧语言(Windows)
1255是Windows-1255希伯来语(Windows)
来源:http://msdn.microsoft.com/en-us/library/system.text.encodinginfo.codepage.aspx
您的编码应始终与用于创建文件的编码相匹配。如果没有可用的元数据(或人员)来指导此选择,则唯一要做的就是尝试每个编码并查看哪个可读。由于显然是在您不懂的语言中,您可能需要询问会说希伯来语的人是否可读。您认识会说希伯来语的人吗?
Encoding.UTF8
。但是,回答您的问题 - 页面1252是“西欧(Windows)”,而1255是“希伯来语(Windows)”。
如果您没有意识到,代码页基本上是 ASCII 的遗物, 您应该尽可能坚持使用 Unicode。