المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : How to write a utf8 string in a unicode text file using c#?



C# Programming
05-30-2010, 08:00 AM
Hi
I had a string which consists both english and hindi characters. I want to write this in a unicode file, but some junk has been observed in the file. But, if i try to write the same data in utf8 file, it is perfectly written as it is.

what is the error?
How can i solve this?

the code is as follows:


string str1 = "This";
string str2 = "??";
string str3 = str1 + "~" + str2;

StreamWriter sw11 = new StreamWriter(File.Open(@"C:\abc.txt", FileMode.Append));
sw11.WriteLine(str3);
sw11.Close();

str3 = Encoding.Unicode.GetString(Encoding.Convert(Encoding.ASCII, Encoding.Unicode, Encoding.ASCII.GetBytes(str1))) + Encoding.Unicode.GetString(Encoding.Convert(Encoding.ASCII, Encoding.Unicode, Encoding.ASCII.GetBytes("~"))) + Encoding.Unicode.GetString(Encoding.Convert(Encoding.UTF8, Encoding.Unicode, Encoding.UTF8.GetBytes(str2)));

StreamWriter sw12 = new StreamWriter(File.Open(@"C:\abcd.txt", FileMode.Append));
sw12.WriteLine(str3);
sw12.Close();