PDA

View Full Version : نوشتن فایل text در #C



zehs_sha
شنبه 08 آذر 1382, 09:48 صبح
بچه ها من می خواهم فایل text بنویسم به وسیله #C که در برنامه ای در vb6 خوانده شود من با کد زیر :



System.IO.StreamWriter swrite;
swrite=System.IO.File.CreateText(@"c:\unicode.txt");
swrite.WriteLine("تست یونیکد i am Good");
swrite.Close();
MessageBox.Show("File Created");


مشکل اینجاست که در این متن نوشته شده در Vb6 تبدیل به حروف ژاپنی می شود . چگونه می توانم فرمت ان را تغییر دهم تا در vb6 خوانده شود.

Vahid_Nasiri
شنبه 08 آذر 1382, 18:25 عصر
خوشبختانه در دات نت یکی از امکانات ذخیره سازی فایلها تعیین encoding فایل خروجی است. encoding آنرا ( که یکی از خواص شیء ایی است که ایجاد کرده اید ) معادل utf-8 قرار دهید مشکل حل می شود.

zehs_sha
شنبه 08 آذر 1382, 19:58 عصر
ایا امکان دارد بیشتر توضیح بدهید اقای نصیری عزیز

Vahid_Nasiri
شنبه 08 آذر 1382, 20:16 عصر
حالت پیش فرض همان utf-8 است بنابراین نیازی به تغییر و یا تنظیم ندارد.
( اگر برای مثال در نوت پد می خواهید آنرا صحیح مشاهده کنید کافی است که فونت برنامه ی ذکر شده را روی تاهوما و script فونت را arabic انتخاب کنید تا فارسی نمایش داده شود )

برای حالت های دیگر از شیء System.Text.Encoding استفاده می شود.

zehs_sha
یک شنبه 09 آذر 1382, 11:49 صبح
اقای نصیری



string st="تست یونیکد i am Good";
System.Text.Encoding unicode = System.Text.Encoding.Unicode;
byte[] unicodeBytes = unicode.GetBytes(st);

System.IO.StreamWriter swrite;

swrite=System.IO.File.CreateText(@"c:\unicode.txt");
for (int i=0;i<unicodeBytes.GetUpperBound(0);i++)
swrite.Write("{0}",(char)(unicodeBytes[i]));

swrite.Close();
MessageBox.Show("File Created");


اقای نصیری عزیز متن کد بالا را تغییر دادم اما هنگامی که کد را توسط vb باز کردم قسمت انگلیسی تبدیل به حروف ژاپنی چاپ می شود و داخل Notepad هم باز می کنم حروف به صورت زیر است :


*3* JHFJ©/ i a m G o o d

may_csharp
سه شنبه 11 آذر 1382, 10:53 صبح
با سلام

<p dir=ltr>System.IO.StreamWriter _sw = new System.IO.StreamWriter("test.txt",false,System.Text.Encoding.UTF8);
_sw.WriteLine("سلام");
_sw.Close();</p>

masasa
یک شنبه 03 خرداد 1388, 09:35 صبح
با سلام و عرض خسته نباشید!

یک فایل متنی در دارم و می خواهم از یک کاراکتر مشخص تا یک کاراکتر مشخص دیگر (به طول 6کاراکتر) یک تاریخ در تمام خطوط آن درج کنم - لطفا راهنمایی بفرمایید.