أجهزة الكمبيوتربرمجة

UTF-8 - ترميز الأحرف

يعتمد Unicode تقريبا جميع مجموعات الأحرف الموجودة. أفضل شكل من أشكال ترميز مجموعة أحرف Unicode هو UTF-8 الترميز. وهو يدعم التوافق مع ASCII، ومقاومة للتشويه من البيانات، وكفاءة وسهولة المعالجة. ولكن قبل كل شئ.

شكل الترميز

أجهزة الكمبيوتر تعمل ليس فقط كأرقام كائنات مجردة الرياضية، فضلا عن مجموعات من وحدات التخزين والمناولة بيانات ذات حجم ثابت - بايت والكلمات 32 بت. معيار التشفير يجب أن تأخذ ذلك في الاعتبار عند تحديد كيفية تقديم عدد من الشخصيات.

في أنظمة الكمبيوتر، الأعداد الصحيحة المخزنة في خلايا الذاكرة من 8 بت (1 بايت)، 16 أو 32 بت. ويعرف كل شكل ترميز يونيكود، التي تتابع خلايا الذاكرة هو عدد صحيح المقابلة لرمز معين. في مستوى وهناك ثلاثة أشكال مختلفة من الترميز أحرف Unicode 8 و 16 و 32 بت القطع. وفقا لذلك، كما هي معروفة UTF-8، UTF-16 و UTF-32. اسم UTF تقف على صيغة تحويل يونيكود. كل واحد من الأشكال الثلاثة من وسائل الترميز يساوي تمثيل حرف Unicode مزاياه في مختلف التطبيقات.

تشفير البيانات يمكن استخدامها لتمثيل كافة الأحرف في معيار يونيكود. وبالتالي، فهي متوافقة تماما إلى حلول لمجموعة متنوعة من الأسباب، وذلك باستخدام أشكال مختلفة من الترميز. كل الترميز يمكن بشكل لا لبس فيه أن تتحول إلى أي من الاثنين الآخرين دون فقدان البيانات.

مبدأ nenalozheniya

كل من ترميز يونيكود الأشكال وضعت في ضوء التداخل غير الجزئي. على سبيل المثال، ويندوز-932 يشكل الأحرف واحد أو اثنين بايت من التعليمات البرمجية. طول تسلسل يعتمد على البايت الأول، وبالتالي فإن القيم بايت الرائدة في سلسلة من اثنين بايت ومنفصلتين بايت واحد. ومع ذلك، قد يتزامن قيمة بايت واحد وراء تسلسل بايت. وهذا يعني على سبيل المثال أن البحث الطابع D (رمز 44) يمكن العثور عليه دخول عن طريق الخطأ في الجزء الثاني من سلسلة من اثنين بايت حرف "D" (رمز 84 44). لمعرفة تسلسل هو الصحيح، ينبغي أن يأخذ البرنامج بعين الاعتبار بايت السابقة.

الوضع معقد، وإذا كانت مباراة الرئيسي وراء بايت. وهذا يعني أنه من أجل إزالة الغموض سيكون البحث العكسي قبل الوصول إلى بداية النص أو تسلسل رمز فريد. وهذه ليست فقط غير فعالة، ولكن ليست محمية من الأخطاء المحتملة، منذ واحد فقط بايت الخطأ النص الكامل أصبح غير قابل للقراءة.

يتجنب تحويل تنسيق Unicode هذه المشكلة لأن قيمة الرائدة، زائدة، وحدة واحدة من التخزين ليست هي نفس المعلومات. هذا يضمن أن جميع يونيكود للبحث والمقارنة، لا يعطي نتائج خاطئة بسبب تزامن أجزاء مختلفة من رمز الحرف. والحقيقة أن هذه الأشكال من الترميز مراقبة nenalozheniya المبدأ، يميز بينها وبين ترميزات متعددة البايت شرق آسيا الأخرى.

وثمة جانب آخر nonintersection ترميزات يونيكود هو أن كل حرف له حدود واضحة المعالم. هذا يلغي الحاجة لمسح عدد غير محدد من الرموز السابقة. تسمى هذه الميزة أحيانا ترميز قطع مسافة السباق في النفس. والتشويه وحدات كود إدخال تشويه للحرف واحد فقط، والشخصيات المحيطة بها لا تزال على حالها. في تحويل تنسيق 8 بت، إذا كانت نقاط المؤشر إلى بايت، بدءا 10xxxxxx (في الشفرة الثنائية) للعثور مطلوب بداية رمز ل02:59 التحولات العكسية.

اتساق

يدعم يونيكود الكامل لجميع أشكال 3 من ترميزات. ومن المهم عدم الاعتراض على UTF-8 و Unicode، وجميع صيغ التحويل - على قدم المساواة أشكال صالحة من تجسيد لليونيكود مقياس الحرف ترميز.

البايت التوجه

لتمثيل UTF-32 حرفا سوف تحتاج إلى وحدة رمز 32 بت، والذي يتزامن مع رمز Unicode. UTF-16 - 01:59 وحدة 16 بت. يستخدم UTF-8 تصل إلى 4 بايت.

تم تصميم ترميز UTF-8 لتكون متوافقة مع النظم القائمة على ASCII الموجهة بايت. تعتمد معظم البرامج الموجودة والممارسة من تكنولوجيا المعلومات لفترة طويلة عن تمثيل الشخصيات في سلسلة من بايت. بروتوكولات متعددة تعتمد على ثبات الترميز ASCII وتستخدم إما يتجنب أحرف التحكم الخاصة. وهناك طريقة بسيطة للتكيف مع الأوضاع يمكن يونيكود، وذلك باستخدام الترميز 8 بت لتمثيل أحرف Unicode، أي حرف ASCII يعادل أو حرف تحكم. تحقيقا لهذه الغاية، وأنه هو UTF-8 الترميز.

طول متغير

UTF-8 - الترميز من طول متغير، ويتألف من وحدات التخزين 8 بت، بت العليا التي تشير إلى أي جزء من سلسلة من كل بايت الفردية ينتمي إليه. مجموعة واحدة من القيم المخصصة للعنصر الأول من تسلسل الرمز، آخر - لالمقبل. وهذا يوفر ترميز disjointness.

ASCII

رموز ASCII ويدعم الترميز UTF-8 بالكامل (0x00-0x7F). وهذا يعني أن أحرف Unicode U + 0000-U + 007F يتم تحويلها إلى بايت واحد 0x00-0x7F UTF-8، وبالتالي يصبح تمييزه عن ASCII. وعلاوة على ذلك، لتجنب الغموض، وقيمة 0x00-0x7F لا تستخدم أي أكثر في تمثيل بايت واحد من أحرف Unicode. إدخال الرموز neideograficheskih غير ASCII، وذلك باستخدام تسلسل من وحدتي بايت. وتتراوح الرموز الممثلة U + 0800-U + FFFF ثلاثة بايت، ورموز إضافية مع أكثر من U + FFFF تتطلب أربعة بايت.

مجال التطبيق

وعادة ما يتم إعطاء ترميز UTF-8 الأفضلية في بروتوكول HTML، وما شابه ذلك.

أصبح XML المعيار الأول مع الدعم الكامل لترميز UTF-8. يوصي منظمات المعايير أيضا. مشكلة الدعم في عنوان URL الذي يختلف من ASCII حرفا، تم حلها عندما جاء W3C كونسورتيوم والمجموعة الهندسية IETF إلى اتفاق حول ترميز كل عناوين URL حصرا في UTF-8.

التوافق مع ASCII يسهل الانتقال إلى برنامج جديد. مع UTF-8 تعمل معظم برامج تحرير النصوص، بما في ذلك جيديت، إيماكس، بيديت، والكسوف، و "المفكرة" في نظام التشغيل ويندوز. أي شكل آخر من أشكال ترميز Unicode لا يمكن أن يفخر مثل هذا الدعم من الأداة.

الترميز ميزة هو أنه يتكون من سلسلة من وحدات البايت. مع UTF-8 سلسلة من السهل للعمل في C وغيرها من لغات البرمجة. هذا هو الشكل الوحيد للترميز، والنظام لا يتطلب تسميات بايت BOM أو إعلانا الترميز في XML.

تزامن الذاتي

في بيئة يستخدم حرف 8 بت من المعالجة مقارنة مع مجموعات الأحرف متعددة البايت أخرى، UTF-8 والمزايا التالية:

  • أول تسلسل رمز بايت يحتوي على معلومات عن طوله. وهذا يزيد من كفاءة البحث المباشر.
  • المبسطة العثور على بداية رمز ك بايت البداية يقتصر على مجموعة ثابتة من القيم.
  • أية قيم تقاطع بايت.

المقارنة بين فوائد

ترميز UTF-8 مضغوط. ولكن عندما تستخدم لترميز الأحرف شرق آسيا (الصينية، اليابانية، الكورية، الصينية الكتابة باستخدام علامات) تستخدم تسلسل 3 بايت. أيضا الترميز UTF-8 هو أقل شأنا من غيرها من أشكال الترميز سرعة المعالجة. A خطوط فرز ثنائي تنتج نفس النتيجة مثل ثنائي فرز يونيكود.

نظام ترميز الأحرف

ويتألف نظام ترميز الأحرف شكل حرف ترميز وطريقة للوحدات رمز موقع بايت واحد. لتحديد نظام ترميز يوفر معيار يونيكود استخدام علامة ترتيب البايت الأولية (ترتيب BOM، بايت علامة).

عندما BOM في UTF-8 سمة ميزة يقتصر فقط بالرجوع إلى استخدام أشكال الترميز. مشاكل في تحديد endian UTF-8 لديها، وحجم وحدة الترميز لها بايت واحد. باستخدام BOM لهذا النوع من الترميز ولا يطلب ولا الموصى بها. قد تحدث BOM في النص المراد تحويلها من التشفيرات أخرى باستخدام علامة ترتيب بايت أو التوقيع لUTF-8 الترميز. هو سلسلة من 3 بايت EF BB 16 16 BF 16.

كيفية تعيين الترميز UTF-8

و HTML الترميز يتم تثبيت UTF-8 مع التعليمات البرمجية التالية:

رئيس

ميتا HTTP-EQUIV = "نوع المحتوى" محتوى = "نص / HTML؛ محارف = UTF-8" ˃

في PHP يتم تعيين UTF-8 الترميز باستخدام وظيفة رأس () في بداية الملف بعد تحديد الخطأ قيمة مستوى الإخراج:

˂؟ بى

error_reporting (-1)؛

رأس ( "نوع المحتوى: نص / HTML؛ محارف = UTF-8 ')؛

للاتصال قاعدة بيانات MySQL يتم تعيين UTF-8 الترميز:

˂؟ بى

mysql_set_charset ( 'UTF8')؛

الترميز CSS-ملف يتم تحديد الأحرف UTF-8 على النحو التالي:

charset "UTF-8".

عند حفظ الملفات من جميع الأنواع اختيار UTF-8 الترميز دون BOM، وإلا فإن الموقع لا يعمل. للقيام بذلك في DreamWeave تحتاج إلى تحديد عنصر القائمة "التعديلات - خصائص الصفحة - العنوان / ترميز" لتغيير الترميز إلى UTF-8. تليها إعادة تحميل الصفحة، وإزالة علامة الاختيار من "التوقيع اتصال يونيكود (BOM)» وتطبيق التغييرات. إذا تم إدخال أي نص على صفحة أو في قاعدة بيانات شكل آخر من أشكال الترميز، فمن الضروري إعادة إدخال أو إعادة ترميز. عند العمل مع التعابير العادية، يجب التأكد من استخدام المعدل ش.

يمكنك أيضا حفظ الملف في الترميز UTF-8 في "المفكرة" في ويندوز. بعد تحديد عنصر القائمة "ملف - حفظ باسم ..." لتثبيت النموذج اللازم للترميز وحفظ الملف في UTF-8.

في نص محرر المفكرة ++، إذا وضع غير UTF-8، عن طريق عنصر القائمة "تحويل إلى UTF-8 بدون BOM» تغيير الطابع وحفظ في UTF-8.

ليس هناك بديل

في سياق العولمة، حيث يتم مسح الحدود السياسية واللغوية، مجموعات الأحرف التي لديها الخصائص المحلية، هي ذات فائدة تذكر. Unicode هي مجموعة حرف واحد التي تدعم جميع تعريب. A UTF-8 - مثال على التنفيذ السليم لليونيكود، وهي:

  • وهو يدعم مجموعة واسعة من الأدوات، بما في ذلك التوافق مع الترميز ASCII.
  • انها مقاومة للبيانات تشويه.
  • بسيطة وفعالة في العلاج؛
  • هو منصة مستقلة.

مع ظهور النقاش UTF-8 حول ما شكل ترميز أو مجموعة أحرف هي أحسن، يصبح لا معنى له.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ar.birmiss.com. Theme powered by WordPress.