پاسخ : تبدیل یونیکد

ساخت وبلاگ
سلام
من در حال حاضر که دارم این پُست رو می‌نویسم از ابزار justniffer چیزی نمی‌دونم اما می‌خواستم کمی درباره encoding های مختلف از جمله unicode توضیح بدم. unicode دارای سه نسخهٔ معروف به نام utf-8، utf-16، utf-32 است. خط فرمان پیش‌فرض لینوکس (یعنی bash) از utf-8 استفاده می‌کنه. (البته می‌شه از encoding های دیگری مثل ASCII، WINDOWS-1256 و ...) پشتیبانی می‌کنه. نسخهٔ متن‌باز خط فرمان powershell که مایکروسافت برای لینوکس منتشر کرده اگر اشتباه نکنم به صورت پیش‌فرض از utf-16 استفاده می‌کنه.

منظور شما از unicode احتمالاً UTF-16 هستش که در notepad ویندوز در قسمت save as به صورت Unicode قابل مشاهده است. خود UTF-16 دارای دو نسخهٔ UTF-16 LE و UTF-16 BE هست که احتمالاً رابط گرافیکی پیش‌فرض ویندوز از UTF-16 LE استفاده می‌کنه. به نظرم تمام نسخه‌های یونیکد در نهایت تبدیل به بایت می‌شن. (احتمالاً خود utf-8 به صورت بایت هست)

توضیحات بالا رو دادم تا اطلاعات شما درباره یونیکُد (Unicode) بیشتر بشه. اما حالا بریم سر اصل مطلب. من این برنامه رو تا به امروز امتحان نکردم اما اگر نظر من رو بخواین، گُمان کنم این برنامه اطلاعات رو به صورت utf-16 نمی‌فرسته چون که معمولاً نرم‌افزارهای خط فرمان لینوکس یا با یونیکُد نسخهٔ utf-8 کار می‌کنند یا با اینکُدینگِ ASCII، پس این برنامه هم احتمالاً باید اطلاعات رو به این صورت به خط فرمان شما ارسال کنه. احتمال کمی می‌دم که از اینکُدینگ دیگری استفاده کرده باشن. در لینوکس تعداد اینکُدینگ‌ها زیاده. دقیقاً نمی‌دونم چندتا است اما شاید بیشتر از ۲۰ تا باشه.

مواردی که در بالا گفتم درباره خط فرمانی که در حالت گرافیکی اجرا می‌شه صدق می‌کنه. اگر خط فرمان شما در حالت tty بدون گرافیک هستش به صورت پیش‌فرض از ascii استفاده می‌کنه. اما شما با نصب برنامه می‌تونید پشتیبانی از utf-8 رو بهش اضافه کنید.

سؤال: آیا شما مطمئن هستید که اطلاعات به صورت Unicode آن هم از نوع utf-16 فرستاده شده یا نه؟ چون ممکنه مثلاً WINDOWS-1256 یا ASCII یا ... بفرسته.

اوبونتو...
ما را در سایت اوبونتو دنبال می کنید

برچسب : نویسنده : استخدام کار ubuntu بازدید : 232 تاريخ : شنبه 19 فروردين 1396 ساعت: 16:19