نص إلى ست عشري: الصيغة التي تتخذها البايتات في التتبّع
ما الذي يفعله هذا التحويل
يرمّز النص بترميز UTF-8 ويطبع كل بايت كخانتين ست عشريتين. وهذا هو التدوين المستخدم في التقاط الحزم وعارضات الذاكرة وسجلات البروتوكولات، فالتحويل في الحقيقة ترجمة بين ما يكتبه الإنسان وما تعرضه أدواته.
خانتان لكل بايت، دائماً
يحمل البايت قيماً من 0 إلى 255، وتغطي خانتان ست عشريتان هذا المدى بالضبط — من 00 إلى FF. والاقتران لا يتغير أبداً، وهذا ما يجعل تفريغ الست عشري قابلاً للمسح: تعدّ البايتات بعدّ الأزواج، ويخبرك عمود الإزاحة بأي زوج تنظر إليه. وسلسلة من ثمانية محارف هي ثمانية أزواج، ولا يمكن لحرف أن ينتج نصف زوج.
جدول تحويل النص إلى الست عشري
سلاسل قصيرة مع قيم بايتاتها الست عشرية. فالترقيم والأرقام تصبح قيم ASCII الخاصة بها في زوج واحد، بينما يتوسع كل ما هو خارج الأبجدية اللاتينية إلى عدة أزواج.
| نص | ست عشري |
|---|---|
| A | 41 |
| Hi | 48 69 |
| OK | 4F 4B |
| 123 | 31 32 33 |
| ! | 21 |
| Go | 47 6F |
العثور على سلسلة داخل التقاط
البحث في التقاط حزم عن نص مقروء نادراً ما ينجح، لأن ما على السلك بايتات وما كتبته أنت حروف. وتحويل السلسلة التي تبحث عنها إلى ست عشري يمنحك التسلسل الدقيق الذي تحتاج إلى البحث عنه، ويكشف لماذا يفشل البحث عن اسم فيه حرف مشكَّل بينما ينجح البحث نفسه دونه: فالصيغتان المرمّزتان مختلفتان في الطول لا في الحروف فقط.
انتبه للفواصل
تفصل هذه الأداة البايتات بمسافات للإيضاح، بينما تلصق كثير من أدوات الالتقاط الأرقام معاً أو تستخدم علامات النسبة المئوية. عند البحث، أزل المسافات أو حوّلها إلى الفاصل الذي تتوقعه أداتك — فتسلسل يبدو متطابقاً بالعين قد يفشل في المطابقة بسبب الفراغات وحدها.
الأسئلة الشائعة
كيف أحوّل النص إلى ست عشري يدوياً؟
ابحث عن قيمة بايت UTF-8 لكل حرف واكتبها كخانتين ست عشريتين. ففي Hi يكون الناتج 48 و69. وللحروف خارج مدى ASCII تحتاج قيم البايتات لا نقطة الشيفرة، لأن الحرف الواحد قد يشغل عدة بايتات.
ما الفرق بين مخرج الست عشري ومخرج الثنائي؟
لا فرق أبعد من التدوين. فكلاهما يرمّز بايتات UTF-8 ذاتها، فالست عشري يكتب كل بايت بخانتين والثنائي بثمانية، فيكون الست عشري أقصر أربع مرات وأسهل في المسح. اختر الست عشري للقراءة والثنائي حين تحتاج رؤية البتات المفردة.
لماذا يصير حرفي المشكَّل بايتين؟
لأن UTF-8 يرمّز كل ما فوق مدى ASCII الأصلي في أكثر من بايت، ومعظم الحروف اللاتينية المشكَّلة تأخذ بايتين. وهذا طبيعي وليس تلفاً — فالحرف ببساطة خارج المدى الذي يعنونه بايت واحد، وأي عدّاد بايتات سيرى بايتين.
هل هذا هو الترميز نفسه الذي يستخدمه عنوان URL؟
متصل به لا مطابق له. فالترميز النسبي يكتب بايتات UTF-8 بعلامة نسبة مئوية قبل كل زوج، فقيم البايتات تطابق هذه الأداة تماماً ولا يختلف إلا الترقيم. والتحويل هنا يمنحك البايتات الصحيحة للترميز النسبي.
هل أستطيع استخدام المخرج في مصفوفة بايتات؟
نعم. فالأرقام هي قيم البايتات بالضبط، وإضافة بادئة 0x إلى كل زوج تعطيك ثابتاً يصلح لمعظم لغات البرمجة. وتطبع الأداة الحروف كبيرة حسب العرف، والحروف الصغيرة صحيحة تماماً حيث تلصقها.