Encoding 将波斯语unicode转换为Ascii

Encoding 将波斯语unicode转换为Ascii,encoding,ascii,persian,Encoding,Ascii,Persian,我需要得到波斯字符串的ASCII码才能在程序中使用它。但是下面的方法给出了答案吗?标记:“????” 你能帮我吗 致以最诚挚的问候, Mohsen您可以将波斯语UTF8数据转换为Windows-1256(阿拉伯语窗口): ASCII不支持波斯语。你可能需要老一套。这由Autocad应用程序决定。我不知道windows中是否有直接编码。但您也可以手动转换字符。这是一个简单的映射。因为ASCII不支持波斯语,所以不太可能。您想对ASCII字符串做什么?我需要在AutoCAD中使用此方法。在VBA中,

我需要得到波斯字符串的ASCII码才能在程序中使用它。但是下面的方法给出了答案吗?标记:“????”

你能帮我吗

致以最诚挚的问候,

Mohsen

您可以将波斯语UTF8数据转换为Windows-1256(阿拉伯语窗口):


ASCII不支持波斯语。你可能需要老一套。这由Autocad应用程序决定。我不知道windows中是否有直接编码。但您也可以手动转换字符。这是一个简单的映射。

因为ASCII不支持波斯语,所以不太可能。您想对ASCII字符串做什么?我需要在AutoCAD中使用此方法。在VBA中,当我获得波斯文本时,在代码编辑器中我看到了?标记。嗯,你不能使用ASCII。我不知道这是事实,但AutoCAD可能支持Unicode。如果没有,您可以尝试另一种支持波斯语的编码。可能重复的
public string PerisanAscii()
    {

        //persian string 
        string unicodeString = "صبح بخیر";

        // Create two different encodings.
        Encoding ascii = Encoding.ASCII;
        Encoding unicode = Encoding.Unicode;

        // Convert the string into a byte array. 
        byte[] unicodeBytes = unicode.GetBytes(unicodeString);

        // Perform the conversion from one encoding to the other. 
        byte[] asciiBytes = Encoding.Convert(unicode, ascii, unicodeBytes);

        // Convert the new byte[] into a char[] and then into a string. 
        char[] asciiChars = new char[ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
        ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
        string asciiString = new string(asciiChars);

        return asciiString;
    }
var enc1256 = Encoding.GetEncoding("windows-1256");
var data = enc1256.GetBytes(unicodeString);
System.IO.File.WriteAllBytes(path, data);