PDA

View Full Version : چگونه utf 16 رو به utf 8 تبدیل کنم ؟



daniad
سه شنبه 14 مرداد 1393, 15:59 عصر
سلام دوستان
من یه برنامه ساده نوشتم که 1 رشته میسازه و اون رشته رویه جا دیگه استفاده میکنم
کارشم ترجمه هست
حالا مشکل من اینه که تا اونجا که فهمیدم c# با فرمت utf 16 رشته رو تحویل میده
ولی اونجایی که من میخوام رشته رو استفاده کنم با utf 8 کار میکنه
به همین دلیل اصلا همه چیز قاطی پاطی میشه :دی
دوستان چکار کنم؟

plus
سه شنبه 14 مرداد 1393, 16:43 عصر
به نظر میاد یک شی string همیشه به صورت utf-16 هست...شما میتونی با کلاس های مربوط به Encoding در System.Text، عملیات تبدیل Encoding رو انجام بدین.
البته توجه کنید که در هر صورت همچنان یک متغیر string به صورت utf-16 هست ولی شما میتونید مقدار یک متن در یک Encoding رو به صورت آرایه از بایت دریافت کنید و یا از آرایه ای از بایت به string تبدیل کنید.

byte[] utf8Bytes = Encoding.UTF8.GetBytes("Your utf-16 string");
// Send utf-8 bytes to destination