Tôi phải tạo một số loại tệp văn bản trong đó có số và chữ cái Hebrew được giải mã thành ASCII.Làm thế nào để chuyển đổi hebrew (unicode) thành Ascii trong C#?
Đây là tập tin phương pháp sáng tạo mà gây nên trên 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();
}
như bạn có thể nhìn thấy, tôi sử dụng Transactions.convertUTF8ASCII() phương pháp tĩnh để chuyển đổi từ chuỗi lẽ Unicode từ NET để đại diện ASCII của nó. Tôi sử dụng nó trên thuật ngữ 'shalom' của Hebrew và quay lại '????' thay vì kết quả tôi cần.
Đây là phương pháp.
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);
}
Thay vì từ ban đầu được giải mã thành ASCII, tôi nhận được '????' trong tập tin tôi tạo ngay cả khi tôi chạy debbuger tôi nhận được kết quả tương tự.
Tôi đang làm gì sai?
Hi, Vậy bạn đã giải quyết nó như thế nào? Tôi có cùng một vấn đề. Cần phải chuyển đổi unicode Hebrew (1400, 1500 vv) thành mã ASCII. –