الشخصية (الحوسبة)

رسم تخطيطي لبيانات السلاسل النصية في الحوسبة. يوضح كلمة "مثال" حيث يُمثل كل حرف في مربع منفصل. كلمة "سلسلة نصية" في الأعلى، وتشير إلى الجملة بأكملها. أما تسمية "حرف" فتقع في الأسفل وتشير إلى مربع منفصل.
سلسلة من سبعة أحرف

في مجال الحوسبة والاتصالات ، يُعرَّف الحرف بأنه التمثيل المُشفَّر لحرف من اللغة الطبيعية (بما في ذلك الحروف والأرقام وعلامات الترقيم )، أو مسافة بيضاء (مسافة أو علامة جدولة)، أو حرف تحكم (يتحكم في أجهزة الحاسوب التي تستهلك البيانات النصية). ويُطلق على سلسلة الأحرف اسم سلسلة نصية .

تستخدم بعض أنظمة ترميز الأحرف عددًا ثابتًا من البتات لتمثيل كل حرف ، بينما تستخدم أنظمة أخرى أحجامًا متغيرة. وقد استُخدمت أحجام ثابتة مختلفة في أنظمة عفا عليها الزمن، مثل ترميز الأحرف ذي الستة بتات [ 1 ] [ 2 ] ، وترميز بودو ذي الخمسة بتات ، وحتى أنظمة الأربعة بتات (التي لا تملك سوى 16 قيمة ممكنة) [ 3 ] . أما نظام ASCII الأحدث، فيستخدم بايتًا من 8 بتات لكل حرف. واليوم، يستخدم ترميز UTF-8، المبني على Unicode ، عددًا متغيرًا من وحدات الترميز بحجم البايت لتحديد نقطة الترميز ، والتي تتحد معًا لترميز الحرف.

مصطلحات

شخصية

بشكل عام، الحرف هو رمز (مثل حرف أو رقم) يمثل معلومات، وفي سياق الحوسبة، هو تمثيل لهذا الرمز يمكن أن يقبله الحاسوب. [ 4 ] يشير الحرف إلى ترميز المعلومات، غالبًا وفقًا لمعيار مثل ANSI أو Unicode .

مجموعة الأحرف

تحدد مجموعة الأحرف مجموعة من الأحرف التي يتم ربط كل منها بقيمة رقمية فريدة.

رمز

يُشير مصطلح "الرسم" إلى المظهر المرئي الخاص بالحرف. تتكون العديد من خطوط الحاسوب من رسومات يتم فهرستها بواسطة الرمز الرقمي للحرف المقابل.

مع ظهور نظام يونيكود [ 5 ] وانتشاره الواسع، بالإضافة إلى مجموعات الأحرف المشفرة غير المعتمدة على البتات ، يُنظر إلى الحرف بشكل متزايد كوحدة معلومات مستقلة عن أي مظهر مرئي محدد. يُعرّف المعيار الدولي ISO/IEC 10646 (يونيكود) الحرف ، أو الحرف المجرد، بأنه "عنصر من مجموعة عناصر تُستخدم لتنظيم البيانات أو التحكم فيها أو تمثيلها". يُكمّل تعريف يونيكود هذا التعريف بملاحظات توضيحية تُشجع القارئ على التمييز بين الأحرف والرسوم البيانية والرموز، من بين أمور أخرى. يُعد هذا التمييز مثالًا على المفهوم الأوسع لفصل العرض عن المحتوى .

على سبيل المثال، يُستخدم حرف الألف العبري ("א") غالبًا من قِبل علماء الرياضيات للدلالة على أنواع معينة من اللانهاية (ℵ)، ولكنه يُستخدم أيضًا في النصوص العبرية العادية. في نظام يونيكود، يُعتبر هذان الاستخدامان حرفين مختلفين، ولكل منهما مُعرّف رقمي مختلف (" نقاط رمز ")، على الرغم من إمكانية عرضهما بشكل متطابق. في المقابل، قد يختلف شكل رمز الماء الصيني ("水") قليلًا في النصوص اليابانية عنه في النصوص الصينية، وقد تعكس الخطوط المحلية هذا الاختلاف. ومع ذلك، يُعتبران في نظام يونيكود الحرف نفسه، ويشتركان في نقطة الرمز نفسها.

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

الجمع بين الشخصية

يتم التعامل مع الحرف المركب بواسطة نظام يونيكود الذي يخصص نقطة رمز لكل مما يلي:

  • 'i ' (U+0069),
  • الدمج (U+0308)، و
  • 'ï' (U+00EF).

وهذا يجعل من الممكن ترميز الحرف الأوسط من كلمة "naïve" إما كحرف واحد "ï" أو كمزيج من الحرف "i" مع علامة التشكيل: (U+0069 LATIN SMALL LETTER I + U+0308 COMBINING DIAERESIS)؛ ويتم عرض هذا أيضًا كـ "i ̈ " .

شخصية

في لغة C ، يُعدّ نوع البيانات `char byte` (اختصارًا لكلمة `character`) نوعًا بحجم بايت واحد ، [ 6 ] [ 7 ] ولكن على عكس الحجم الفعلي للبايت وهو 8 بت، فإن استخدام `byte` هنا أقل تحديدًا. يُعرَّف البايت بأنه كبير بما يكفي لاحتواء أي عنصر من "مجموعة أحرف التنفيذ الأساسية". يمكن الوصول إلى عدد البتات التي يستخدمها المُصرِّف عبر الماكرو `byte`. الحجم الأكثر شيوعًا هو 8 بت، ويشترط معيار POSIX أن يكون 8 بت. [ 8 ] في معايير C الحديثة، يُشترط أن يحتوي `byte` على وحدات ترميز UTF-8 [ 6 ] [ 7 ] ، وهو ما يتطلب حجمًا أدنى قدره 8 بت.CHAR_BITchar

بما أن نقطة ترميز يونيكود قد تتطلب ما يصل إلى 21 بتًا [ 9 ] ، فإن هذا charالنوع عمومًا ليس كبيرًا بما يكفي لكل حرف. ومع ذلك، charفإن هذا النوع مناسب تمامًا لترميز UTF-8 حيث تتطلب كل نقطة ترميز من 1 إلى 4 بايتات.

أدى تخزين الحرف تاريخيًا في بايت واحد إلى استخدام مصطلحي "حرف" و"حرف" بشكل متبادل، مما يُسبب التباسًا عند استخدام ترميزات متعددة البايتات مثل UTF-8. تحاول وثائق POSIX الحديثة معالجة هذا الأمر بتعريف "الحرف" على أنه سلسلة من بايت واحد أو أكثر تُمثل رمزًا رسوميًا واحدًا أو رمز تحكم، وتستخدم "بايت" عند الإشارة إلى بيانات الحرف. [ 10 ] [ 11 ] ومع ذلك، لا تزال الوثائق تحتوي على أخطاء، مثل تعريف مصفوفة على charأنها مصفوفة أحرف (بدلاً من مصفوفة بايتات ). [ 12 ]

يمكن تخزين يونيكود في سلاسل من وحدات ترميز أكبر من 16 بت، charتُسمى الأحرف العريضة . كان نوع C الأصلي يُسمى wchar_t . نظرًا لأن بعض المنصات تُعرّفها wchar_tعلى أنها 16 بت، بينما تُعرّفها منصات أخرى على أنها 32 بت، فإن الإصدارات الحالية تُوفّر تعريفًا واضحًا ودقيقًا char16_t. مع ذلك، قد لا تكون الكائنات المُخزّنة أحرفًا، فعلى سبيل المثال، غالبًا ما يتم تخزين ترميز UTF-16char32_t ذي الطول المتغير في مصفوفات من الأحرف العريضة .char16_t

توجد أنواع بيانات في لغات أخرى أيضًا char. تستخدم العديد من اللغات، بما في ذلك C++ ، بايتات 8 بت مثل لغة C. [ 7 ] بينما تستخدم لغات أخرى، مثل Java ، تخزينًا بعرض 2 بايت لاستيعاب ترميز UTF-16 بشكل مباشر.

انظر أيضاً

مراجع

  1. دريفوس، فيليب (1958). "تصميم نظام جاما 60". إدارة متطلبات المعرفة، ورشة عمل دولية، لوس أنجلوس . نيويورك. ص 130-133 . doi : 10.1109/AFIPS.1958.32 . [...] يُستخدم رمز البيانات الداخلي: تُشفّر البيانات الكمية (الرقمية) برمز عشري من 4 بتات؛ وتُشفّر البيانات النوعية (الأبجدية الرقمية) برمز أبجدي رقمي من 6 بتات. يعني رمز التعليمات الداخلي أن التعليمات مُشفّرة برمز ثنائي مباشر. أما بالنسبة لطول المعلومات الداخلية، فتُسمى وحدة المعلومات " سلسلة "، وهي تتكون من 24 بتًا تُمثل إما 6 أرقام عشرية، أو 4 أحرف أبجدية رقمية. يجب أن تحتوي هذه الوحدة الكمية على مضاعفات العددين 4 و6 بتات لتمثيل عدد صحيح من الأحرف العشرية أو الأبجدية الرقمية. وُجد أن 24 بتًا تمثل حلًا وسطًا مناسبًا بين الحد الأدنى البالغ 12 بتًا، والذي سيؤدي إلى تدفق نقل منخفض جدًا من ذاكرة القراءة المتوازية، و36 بتًا أو أكثر، والذي اعتُبر وحدة كمية معلوماتية كبيرة جدًا. تُعتبر السلسلة (catena) مكافئة للحرف في الأجهزة ذات أطوال الكلمات المتغيرة ، ولكن لا يمكن تسميتها كذلك، لأنها قد تحتوي على عدة أحرف. يتم نقلها بشكل متسلسل من وإلى الذاكرة الرئيسية. ولأننا لا نريد تسمية "الوحدة الكمية" كلمة، أو مجموعة الأحرف حرفًا (فالكلمة كلمة، والوحدة الكمية شيء آخر)، فقد تم ابتكار كلمة جديدة، وهي "catena". إنها كلمة إنجليزية موجودة في قاموس ويبستر، على الرغم من أنها غير موجودة في قاموس اللغة الفرنسية. تعريف ويبستر لكلمة catena هو: "سلسلة متصلة"؛ وبالتالي، فهي عنصر معلوماتي مكون من 24 بتًا. سيُستخدم مصطلح "كاتينا" فيما يلي. وبذلك، تم تعريف الشفرة الداخلية. أما الآن، فما هي شفرات البيانات الخارجية؟ تعتمد هذه الشفرات بشكل أساسي على جهاز معالجة المعلومات المستخدم. صُمم جهاز غاما 60 لمعالجة المعلومات المتعلقة بأي بنية مشفرة ثنائياً. لذا، تُعتبر البطاقة المثقبة ذات 80 عموداً عنصراً معلوماتياً بحجم 960 بت؛ 12 صفاً مضروبة في 80 عموداً تساوي 960 ثقباً محتملاً؛ ويتم تخزينها كصورة طبق الأصل في 960 نواة مغناطيسية للذاكرة الرئيسية، حيث يشغل عمودان من البطاقة كاتينا واحدة. […] 
  2. بلاو، جيريت آن ؛ بروكس الابن، فريدريك فيليبس ؛ بوخهولز، فيرنر (1962)، "4: وحدات البيانات الطبيعية" (ملف PDF) ، في بوخهولز، فيرنر (محرر)، تخطيط نظام حاسوبي - مشروع ستريتش ، شركة ماكجرو هيل للنشر / شركة مابل برس، يورك، بنسلفانيا، الصفحات 39-40 ، رقم مكتبة الكونغرس 61-10466 ، مؤرشف (ملف PDF) من الأصل في 2017-04-03 ، تم استرجاعه في 2017-04-03 ، [...] المصطلحات المستخدمة هنا لوصف البنية التي يفرضها تصميم الجهاز، بالإضافة إلى البت ، مدرجة أدناه. يشير البايت إلى مجموعة من البتات المستخدمة لترميز حرف، أو عدد البتات المرسلة بالتوازي من وإلى وحدات الإدخال والإخراج. يُستخدم مصطلح آخر غير "حرف" هنا لأن الحرف الواحد قد يُمثَّل في تطبيقات مختلفة بأكثر من رمز، وقد تستخدم الرموز المختلفة أعدادًا مختلفة من البتات (أي أحجام بايتات مختلفة). في عملية نقل البيانات بين المدخلات والمخرجات، قد يكون تجميع البتات عشوائيًا تمامًا ولا علاقة له بالأحرف الفعلية. (المصطلح مشتق من كلمة "bite " ولكن تم تغيير تهجئتها لتجنب التحريف العرضي إلى "bit "). تتكون الكلمة من عدد بتات البيانات المنقولة بالتوازي من الذاكرة أو إليها في دورة ذاكرة واحدة. وبالتالي، يُعرَّف حجم الكلمة كخاصية هيكلية للذاكرة. (صاغ مصممو حاسوب Bull GAMMA 60 مصطلح "catena" لهذا الغرض ). تشير الكتلة إلى عدد الكلمات المنقولة من أو إلى وحدة الإدخال والإخراج استجابةً لتعليمات إدخال وإخراج واحدة. حجم الكتلة هو خاصية هيكلية لوحدة الإدخال والإخراج؛ وقد يكون ثابتًا في التصميم أو يُترك للبرنامج ليُغيِّره.  
  3. "المصطلحات والاختصارات". دليل برمجة لغة التجميع MCS-4 - دليل برمجة نظام الحاسوب الصغير INTELLEC 4 (ملف PDF) (طبعة أولية ). سانتا كلارا، كاليفورنيا، الولايات المتحدة الأمريكية: شركة إنتل . ديسمبر 1973. الصفحات 5، 2-6. MCS-030-1273-1. مؤرشف (PDF) من الأصل في 1 مارس 2020. تم الاسترجاع في 2 مارس 2020. [ ...] البت - أصغر وحدة معلومات يمكن تمثيلها. (قد يكون البت في إحدى حالتين: 0 أو 1). [...] البايت - مجموعة من 8 بتات متجاورة تشغل موقع ذاكرة واحد. [...] الحرف - مجموعة من 4 بتات متجاورة من البيانات. [...]  (ملاحظة: يستخدم دليل Intel 4004 هذا مصطلح " حرف" للإشارة إلى كيانات البيانات ذات 4 بت بدلاً من 8 بت . وقد تحولت Intel إلى استخدام مصطلح "نصف بت " الأكثر شيوعًا لكيانات 4 بت في وثائقها الخاصة بالمعالج اللاحق 4040 في عام 1974 بالفعل.)
  4. "تعريف الشخصية" . قاموس ميريام-ويبستر . تم الاطلاع عليه بتاريخ 1 أبريل 2018 .
  5. ديفيس، مارك (5 مايو 2008). "الانتقال إلى يونيكود 5.1" . مدونة جوجل . تم الاطلاع عليه بتاريخ 28 سبتمبر 2008 .
  6. 1 2 "§5.2.4.2.1 أحجام أنواع الأعداد الصحيحة <limits.h> / §6.2.5 الأنواع / §6.5.3.4 عاملي sizeof و _Alignof". ISO/IEC 9899:2018 - تكنولوجيا المعلومات - لغات البرمجة - C.{{cite book}}تم |website=تجاهله ( مساعدة )
  7. 1 2 3 "§1.7 نموذج ذاكرة C++ / §5.3.3 حجم". ISO/IEC 14882:2011 .
  8. "<limits.h>" . pubs.opengroup.org . تم الاطلاع عليه بتاريخ 2018-04-01 .
  9. "مسرد مصطلحات يونيكود - نقطة الترميز" . تم الاطلاع عليه بتاريخ 14-05-2019 .
  10. "تعريف POSIX للشخصية" .
  11. "مرجع POSIX strlen" .
  12. "تعريف POSIX لمصفوفة الأحرف" .
  • الشخصيات: مقدمة موجزة من مشروع معلومات لينكس (LINFO)
  • يلخص معيار ISO/IEC TR 15285:1998 نموذج الأحرف الخاص بمنظمة ISO/IEC، مع التركيز على تعريفات المصطلحات والتمييز بين الأحرف والرموز الرسومية.