سؤال

ما هو الفرق بين Unicode, UTF8, UTF7, UTF16, UTF32, ASCII, ، ANSI ترميزات?

ما هي هذه مفيدة للمبرمجين ؟

هل كانت مفيدة؟

المحلول

الذهاب إلى أسفل القائمة الخاصة بك:

  • "Unicode"ليس الترميز ، على الرغم للأسف, الكثير من الوثائق دقيق يستخدم للإشارة إلى أي ترميز Unicode أن نظام معين يستخدم بشكل افتراضي.على ويندوز و جافا ، وهذا غالبا ما يعني UTF-16;في العديد من الأماكن الأخرى ، وهو ما يعني UTF-8.صحيح Unicode يشير إلى المجرد مجموعة الأحرف نفسها ، وليس إلى أي ترميز.
  • UTF-16:2 بايت لكل "رمز الوحدة".هذا هو الشكل الأصلي من السلاسل .صافي و عموما في نظام التشغيل Windows و جافا.القيم خارج متعددة اللغات الأساسية الطائرة (BMP) يتم ترميز زوج بديل.(هذه هي نسبيا نادرا ما تستخدم - الذي هو وظيفة جيدة ، كما عدد قليل جدا من المطورين الحصول عليها الحق على ما اظن.أشك كثيرا أن أقوم به.)
  • UTF-8:طول متغير ترميز 1-4 بايت لكل رمز نقطة.ASCII القيم ترميز ASCII باستخدام 1 بايت.
  • UTF-7:عادة ما تستخدم من أجل ترميز البريد الإلكتروني.وهناك احتمالات إذا كنت تعتقد أنك في حاجة إليها و أنت لا تفعل البريد, كنت على خطأ.(هذا فقط تجربة من الناس نشر في الأخبار وما إلى ذلك - خارج البريد, انها حقا لا تستخدم على نطاق واسع في جميع.)
  • UTF-32:عرض ثابت ترميز باستخدام 4 بايت لكل رمز نقطة.هذه ليست فعالة جدا ، ولكن يجعل الحياة أسهل خارج BMP.لدي .صافي Utf32String فئة كجزء من بلدي MiscUtil مكتبة, أن كنت تريد من أي وقت مضى عليه.(لم يكن جيدا جدا اختبار العقل.)
  • ASCII:ترميز بايت واحد فقط باستخدام الجزء السفلي 7 بت.(رمز Unicode نقاط 0-127.) لا لهجات.... الخ
  • ANSI:ليس هناك ثابت واحد ترميز ANSI - هناك الكثير منهم.عادة عندما يقول الناس "ANSI" أنها تعني "الإعدادات المحلية الافتراضية/الشفرة على نظام بلدي" والتي يتم الحصول عليها عن طريق ترميز.الافتراضي, و هو في كثير من الأحيان Windows-1252 ولكن يمكن أن تكون في أماكن أخرى.

هناك المزيد على بلدي Unicode الصفحة و نصائح من أجل التصحيح Unicode مشاكل.

أخرى كبيرة من الموارد من التعليمات البرمجية unicode.org الذي يحتوي على معلومات أكثر من أي وقت مضى عليك أن تكون قادرة على العمل في طريقك من خلال - ربما الأكثر فائدة بت هو قانون الرسوم البيانية.

نصائح أخرى

وبعض القراءة للحصول على انك بدأته على المحارف: جويل على البرمجيات: المطور المطلق الدنيا كل البرامج على الاطلاق، إيجابيا يجب أن تعرفه عن يونيكود ومجموعات الأحرف (لا أعذار!)

وبالمناسبة - ASP.NET أن تفعله حيال ذلك. ترميزات عالمية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top