Мне нужно создать какой-то текстовый файл, в котором есть цифры и буквы иврита, декодированные в ASCII.
Это метод создания файла, который срабатывает на ButtonClick
protected void ToFile(object sender, EventArgs e)
{
filename = Transactions.generateDateYMDHMS();
string path = string.Format("{0}{1}.001", Server.MapPath("~/transactions/"), filename);
StreamWriter sw = new StreamWriter(path, false, Encoding.ASCII);
sw.WriteLine("hello");
sw.WriteLine(Transactions.convertUTF8ASCII("שלום"));
sw.WriteLine("bye");
sw.Close();
}
Как вы можете видеть, я использую статический метод Transactions.convertUTF8ASCII () для преобразования, вероятно, из строки Unicode из .NET в представление ASCII. Я использую это слово на иврите «шалом» и получаю обратно «????» вместо результата мне нужно.
Вот метод.
public static string convertUTF8ASCII(string initialString)
{
byte[] unicodeBytes = Encoding.Unicode.GetBytes(initialString);
byte[] asciiBytes = Encoding.Convert(Encoding.Unicode, Encoding.ASCII, unicodeBytes);
return Encoding.ASCII.GetString(asciiBytes);
}
Вместо декодирования исходного слова в ASCII я получаю «????» в файле, который я создаю, даже если я запускаю debbuger, я получаю тот же результат.
Что я делаю не так?