我需要创建一个文本文件,在其中将数字和希伯来字母解码为ASCII码。
这是在按钮点击时触发的文件创建方法。
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() 静态方法来将来自.NET的Unicode字符串转换为其ASCII表示。 我将其应用于希伯来语词汇“shalom”,但得到的结果是“????”,而不是我需要的结果。
以下是该方法:
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字符,而是显示为'????',即使我运行调试器也得到相同的结果。
我做错了什么?