我必須創建一些文本文件,其中有數字和希伯來字母解碼爲ASCII。如何將希伯來語(unicode)轉換爲c#中的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我也會得到相同的結果。
我做錯了什麼?
嗨,那麼你怎麼解決它?我有同樣的問題。需要將希伯來語unicode(1400,1500等)轉換爲ASCII碼。 – 2013-02-16 17:19:49