PDA

View Full Version : سوال: تبدیل string به unicode



alirzn
پنج شنبه 02 اردیبهشت 1389, 17:50 عصر
سلام . من می خوام یک کلمه فارسی رو به یک دستگاه بفرستم. وقتی میفرستم روی LCD بصورت ????? دیده میشه. آیا باید unicode بشه؟ چجوری؟ممنون

FastCode
پنج شنبه 02 اردیبهشت 1389, 18:12 عصر
unicode هست باید ansi بشه.
کار من و شما هم فکر نمیکنم باشه.(حد اقل 100 ساعت توی گوگل دنبالش گشتم)
ولی شاید این جواب بده:

string output = System.Text.Encoding.Ansi.GetString(input);

mehdi.mousavi
پنج شنبه 02 اردیبهشت 1389, 18:33 عصر
سلام . من می خوام یک کلمه فارسی رو به یک دستگاه بفرستم. وقتی میفرستم روی LCD بصورت ????? دیده میشه. آیا باید unicode بشه؟ چجوری؟ممنون

سلام.
ابتدا باید بررسی کنید ببینید آیا دستگاه مزبور، توان نمایش کاراکترهای فارسی (بطور کلی Unicode) رو داره یا خیر. اگر داره، باید به Manual اش رجوع کنید تا ببینید ارسال و فرمت داده های Unicode به چه شکلی و در چه قالبی باید انجام بشه. معمولا این مطالب در Data Sheet دستگاهها وجود داره.

موفق باشید.

پاورقی: ارتباط شما با دستگاه از چه طریقی میسره؟ Ethernet، Serial Port، USB، یا ...؟

mehdi.mousavi
پنج شنبه 02 اردیبهشت 1389, 18:43 عصر
unicode هست باید ansi بشه. کار من و شما هم فکر نمیکنم باشه.(حد اقل 100 ساعت توی گوگل دنبالش گشتم) ولی شاید این جواب بده:

string output = System.Text.Encoding.Ansi.GetString(input);

سلام.
اول از همه، تو کدی که نوشته اید، باید جای Ansi بنویسید ASCII. :)

دوم اینکه تو سیستم ASCII یا همون ANSI هر کاراکتر رو با یک بایت (هشت بیت، که میشه 2 بتوان 8 میشه 256 حالت، که میشه 0-255) نشون میدن در صورتیکه تو سیستم Unicode هر کاراکتر رو با دو بایت نشون میدن (یعنی 16 بیت، که میشه 2 بتوان 16، یعنی 65536 حالت که میشه 0-65535). حالا شما چطوری میخواهید دو بایت رو در یک بایت نشون بدید؟

موفق باشید.

FastCode
پنج شنبه 02 اردیبهشت 1389, 23:27 عصر
باید جای Ansi بنویسید ASCII.
IDE نداشتم.:خجالت:

معمولا این مطالب در Data Sheet دستگاهها وجود داره.
به خاطر همین گفتم کار شما نیست چون طبق محاسباتی که برای آخرین datasheetی که دیدم انجام دادم باید تک تک موهامون رو سفید کنیم تا بتونیم این همه character رو طراحی کنیم.
حدود 90 تا icon هفت*یازده یا پنج*هفت یا حتی بیشتر با توجه ابعاد LCD,