PDA

View Full Version : حرفه ای: تبدیل های utf8



mg_mahyar
چهارشنبه 06 مهر 1390, 14:03 عصر
سلام
من یک سری کدینگ دارم میخوام بازشون کنم چی کار کنم؟ راهنمایی میخوام
%D9%86%D8%A7%D9%85%20%D8%AF%D8%B1%D8%B3
ان کدی هست که دارم ظاهرا اسم یک درسه. اصول طراحي كامپايلر
اما از اون عبارت چطوری به این عبارت برشم؟
از این سایت فهمیدم عبارت من معادل اینه:
http://www.w3schools.com/tags/ref_urlencode.asp
Ù†Ø
همچین چیزی میده
�ا� درس
حالا اینو چطوری به اون عبارت فارسی برگردونم؟

mehdi.mousavi
چهارشنبه 06 مهر 1390, 14:51 عصر
سلام من یک سری کدینگ دارم میخوام بازشون کنم چی کار کنم؟ راهنمایی میخوام
%D9%86%D8%A7%D9%85%20%D8%AF%D8%B1%D8%B3
ان کدی هست که دارم ظاهرا اسم یک درسه. اصول طراحي كامپايلر اما از اون عبارت چطوری به این عبارت برشم؟

سلام.
می تونید بدین شکل عمل کنید:

string input = "%D9%86%D8%A7%D9%85%20%D8%AF%D8%B1%D8%B3";

byte[] bytes = new byte[input.Length / 3];
for (int i = 0; i < input.Length; i += 3)
bytes[i / 3] = Convert.ToByte(input.Substring(i + 1, 2), 16);

String decodedString = System.Text.UTF8Encoding.UTF8.GetString(bytes);


موفق باشید.

پاورقی: شما می تونید System.Web.dll رو به پروژه اتون اضافه کنید، و بدین شکل عمل تبدیل رو انجام بدید:

string decodedString = System.Web.HttpUtility.UrlDecode(input);

mg_mahyar
چهارشنبه 06 مهر 1390, 17:07 عصر
این متغییر byte دقیقا چیه ؟ و ضمنا من ایونو مینویسم ارور میده HttpUtility

mehdi.mousavi
پنج شنبه 07 مهر 1390, 11:23 صبح
این متغییر byte دقیقا چیه ؟ و ضمنا من ایونو مینویسم ارور میده HttpUtility

سلام.
ابتدا اون string ورودی، به بایت های تشکیل دهنده اش تبدیل میشه تا بشه این Byte Array رو به System.Text.UTF8Encoding.UTF8.GetString پاس کرد و به رشته UTF8 مورد نظر رسید. در مورد سوال دوم هم، شما باید ابتدا Reference به System.Web.dll رو به لیست Reference های پروژه اتون اضافه کنید، سپس از HttpUtility استفاده کنید.

موفق باشید.