C# 转换编码字符串 IÜÜæØÜÜ?E?翻译成可读的阿拉伯语



我需要在winform中正确显示可读的阿拉伯字符串,在记事本 中,我将编码设置为ANSI,粘贴字符串"ìüüüüüüüçèá!>阿拉伯 -> Windows 1256,我得到了正确的值2

我该怎么做C#?我尝试了,但是DOS不起作用:

        Encoding en_source = Encoding.GetEncoding("windows-1250");
        Encoding en_dest = Encoding.Unicode; 
        byte[] srcBytes = en_source.GetBytes("ÌÜÜæØÜÜÇÈá ÊíÌÜÜí 2");
        return  en_dest.GetString(srcBytes);

您想从CodePage 1252转换为1256。

var oldStr = "ÌÜÜæØÜÜÇÈá ÊíÌÜÜí 2";
var enSource = Encoding.GetEncoding(1252); // Windows 1252
var enDest = Encoding.GetEncoding(1256); // Windows 1256
var srcBytes = enSource.GetBytes(oldStr);
var newStr = enDest.GetString(srcBytes);

请注意,在这种情况下,这有效,但是您可能会有其他情况无法正确转换为enSource作为CodePage1252。假设此废话字符串在您的旧应用程序中以相同的方式生成,则对您来说应该很好。<<<<<<<<<<<<

最新更新