طريقة الاستخدام
- اختر «ترميز» لتحويل النص إلى أعداد عشرية، أو «فك الترميز» لإعادة الأعداد إلى نص.
- اكتب المدخلات أو الصقها، أو افتح ملفًا. تتحدّث النتيجة فور الكتابة.
- اختر «الفاصل» بين الأعداد: «مسافة» أو «فاصلة» أو «سطر جديد».
- انسخ الأعداد أو نزّلها كملف.
قيم البايتات العشرية ورموز ASCII
يُخزَّن كل حرف في الحاسوب في بايت واحد أو أكثر، والبايت ليس سوى عدد بين 0 و255. تكتب هذه الأداة كل عدد من هذه الأعداد بالترقيم العشري المعتاد. وفي النصوص الإنجليزية تكون هذه الأعداد هي رموز ASCII المألوفة: الحروف الكبيرة من 65 إلى 90، والحروف الصغيرة من 97 إلى 122، والأرقام من 0 إلى 9 من 48 إلى 57، والمسافة 32. وتقع أحرف التحكم تحت 32، مثل 10 لحرف السطر الجديد (line feed) و13 لحرف العودة إلى بداية السطر (carriage return).
النتيجة هي القائمة نفسها التي تحصل عليها من ord() في Python أو من قراءة Uint8Array في JavaScript، وهي طريقة عملية لاكتشاف الأحرف غير المرئية أو نهايات الأسطر أو علامة ترتيب البايتات (BOM) في سلسلة نصية.
عدد لكل بايت، لا عدد واحد كبير
يجري التحويل بايتًا بايتًا: فالكلمة المكوّنة من حرفين تصبح عددين، لا عددًا صحيحًا واحدًا. ولا تظهر القيم الأكبر من 127 أبدًا في نصوص ASCII، أما في UTF-8 فتأتي في تتابعات من بايتين إلى أربعة تشكّل معًا حرفًا واحدًا، ولهذا ينتج الحرف اللاتيني ذو العلامة أو الحرف الصيني عدة أعداد. وللحصول على قيمة واحدة لكل حرف في نصوص أوروبا الغربية، اختر ISO-8859-1، حيث تساوي قيمة كل بايت نقطة ترميز الحرف (code point) في Unicode، أو Windows-1252.
أما لتحويل عدد واحد بين الأنظمة العددية، مثل تحويل 255 إلى ست عشري، فاستخدم محوّل أنظمة الأعداد. ولرؤية البايتات نفسها بصيغ أخرى، جرّب الست عشري أو الثنائي.
قيم البايتات العشرية برمجيًا
# Python
list('Hi'.encode()) # [72, 105]
bytes([72, 105]).decode() # 'Hi'
// JavaScript
[...new TextEncoder().encode('Hi')] // [72, 105]
new TextDecoder().decode(new Uint8Array([72, 105])) // 'Hi'
المواصفات
| الأبجدية | 0-9 |
|---|---|
| حجم المخرجات | من 1 إلى 3 أرقام لكل بايت، إضافة إلى الفواصل |
| الحشو | لا يوجد |
| المعيار | قيم البايتات بالنظام العشري |
| حساس لحالة الأحرف | لا |
أمثلة
| المدخلات (UTF-8) | المخرجات |
|---|---|
Hello, World! | 72 101 108 108 111 44 32 87 111 114 108 100 33 |
Base64.is | 66 97 115 101 54 52 46 105 115 |
你好 | 228 189 160 229 165 189 |
الأسئلة الشائعة
ما رمز ASCII العشري للحرف A؟
الحرف A الكبير قيمته 65، والحرف a الصغير قيمته 97، في ASCII وUTF-8 على حد سواء. ويزيد كل حرف تالٍ بمقدار واحد، فتكون قيمة Z هي 90 وقيمة z هي 122.
هل يمكنني فك ترميز أعداد عشرية بلا فواصل؟
لا. فسلسلة أرقام مثل 72105 يمكن تقسيمها بأكثر من طريقة، لذا تحتاج أداة فك الترميز إلى أعداد مفصولة بمسافات أو فاصلات أو فاصلات منقوطة أو أسطر جديدة. والأصفار البادئة مسموح بها.
لماذا تعطي الأعداد الأكبر من 255 خطأً؟
يحمل البايت قيمًا من 0 إلى 255. والأعداد الأكبر، مثل نقطة الترميز 8364 في Unicode الخاصة برمز اليورو، ليست قيم بايتات. اكتب الحرف نفسه ورمّزه لترى بايتاته، بترميز UTF-8 مثلًا.
لماذا يتحول حرف واحد إلى عدة أعداد؟
يخزّن UTF-8 الأحرف الواقعة خارج ASCII في بايتين أو ثلاثة أو أربعة، ويصبح كل بايت عددًا مستقلًا. اختر مجموعة أحرف أحادية البايت مثل Windows-1252 إن كنت تحتاج إلى عدد واحد لكل حرف من أحرف أوروبا الغربية.