صيغ الملفات
ما هو ملف TXT؟ النص العادي والترميزات وUTF-8
TXT أبسط صيغة مستندات على الإطلاق: حروف وفواصل أسطر فقط. ومع ذلك تجعلها الترميزات وعلامة BOM ونهايات الأسطر من أكثر الصيغ إثارة للمشكلات. نشرح كل واحدة منها.
الكاتب: Hemen Dönüştür Editör Ekibiتاريخ النشر: 7 دقائق قراءة

TXT أبسط صيغة مستندات يعرفها الحاسوب: لا خط عريض، ولا خطوط، ولا تخطيط صفحات، بل حروف وفواصل أسطر فقط. وهذه البساطة تجعلها قابلة للنقل إلى أقصى حد. يمكنك اليوم فتح ملف نصي كُتب قبل خمسين عامًا، وما تكتبه اليوم سيُفتح على الأرجح بعد عقود. لكن "النص العادي" ليس بالبساطة التي يبدو عليها. فالحروف ذات العلامات التي تتحول إلى "é" أو "?"، والأسطر التي تنهار في سطر واحد، والحرف غير المرئي في بداية الملف: كل ذلك ينبع من تفصيل خفي واحد داخل ملف TXT، هو ترميز الحروف. يشرح هذا المقال كيف تعمل ملفات TXT وكيف تُصلح هذه المشكلات.
ما هو ملف TXT؟
لا يحتوي الملف ذو الامتداد .txt إلا على حروف نصية. فلا ترويسة ولا بيانات وصفية ولا تنسيق، وكل بايت فيه ينتمي إلى النص نفسه. والسؤال الحاسم هو: أي بايت يمثّل أي حرف؟ هذا الربط يُسمّى ترميز الحروف، وعادةً لا يذكر ملف TXT الترميز الذي يستخدمه، فيضطر البرنامج الذي يفتحه إلى التخمين.
لمحة تاريخية: من ASCII إلى UTF-8
نُشر ASCII أول مرة عام 1963 باسم ASA X3.4-1963. يستخدم 7 بتات ويعرّف 128 حرفًا: الأبجدية الإنجليزية والأرقام وعلامات الترقيم وحروف التحكم مثل فاصل السطر. أما حروف مثل é وñ وö، أو الحروف العربية، فليست جزءًا من ASCII.
ولسدّ هذه الفجوة ظهرت صفحات الترميز (code pages)، التي خصصت القيم الـ 128 المتبقية من البايت ذي البتات الثماني للغات مختلفة: Windows-1252 وISO-8859-1 للغات أوروبا الغربية، وWindows-1254 وISO-8859-9 للتركية، وغيرها كثير. والمشكلة أن البايت نفسه يعني حروفًا مختلفة في صفحات ترميز مختلفة. فالبايت FD مثلًا هو "ý" في Windows-1252 لكنه "ı" في Windows-1254. والبرنامج الذي يخمّن صفحة الترميز الخطأ يعرض النص بشكل غير صحيح.
جاء الحل الدائم مع Unicode، الذي يمنح كل حرف في كل نظام كتابة رقمًا واحدًا. وUTF-8 هو الطريقة الأوسع انتشارًا لتحويل هذه الأرقام إلى بايتات. وكما يروي روب بايك، صمّم كين تومسون UTF-8 على مفرش طاولة في مطعم بنيوجيرسي ذات ليلة نحو سبتمبر 1992. وتعريفه الحالي هو RFC 3629 الصادر في نوفمبر 2003: يرمّز UTF-8 كل حرف من U+0000 إلى U+10FFFF في ما بين 1 و4 بايتات، ويكتب حروف ASCII بالبايتات المفردة نفسها التي يستخدمها ASCII.
ويُظهر الويب مدى هيمنة UTF-8: فوفقًا لبيانات W3Techs بتاريخ 15 أكتوبر 2026، يستخدم 99.1% من المواقع المعروف ترميزها UTF-8، يليه ISO-8859-1 بنسبة 0.8% ثم Windows-1252 بنسبة 0.2%.
ماذا يوجد داخل ملف TXT؟
الحروف والبايتات
احفظ كلمة "café" بترميز UTF-8 ثم بترميز Windows-1252، وستحصل على بايتات مختلفة:
Text: c a f é
UTF-8: 63 61 66 C3 A9 (5 bytes)
Windows-1252: 63 61 66 E9 (4 bytes)
البرنامج الذي يقرأ ملف UTF-8 على أنه Windows-1252 يعرض C3 وA9 حرفين منفصلين، "é". وفي الاتجاه المعاكس، البرنامج الذي يقرأ ملف Windows-1252 على أنه UTF-8 يعدّ E9 غير صالح ويعرض "�" بدلًا منه. وتكاد كل مشكلة في تشوّه الحروف تكون واحدًا من هذين السيناريوهين.
علامة BOM (علامة ترتيب البايتات)
تضع بعض البرامج البايتات EF BB BF في بداية ملف UTF-8. وهذه صيغة UTF-8 للحرف U+FEFF، وتُستخدم توقيعًا يعني "هذا الملف بترميز UTF-8". ويشير RFC 3629 إلى أن هذا التوقيع يظهر دائمًا بهذه البايتات الثلاثة. ووفقًا للأسئلة الشائعة لدى Unicode، فإن BOM ليست مطلوبة في UTF-8 ولا تعمل إلا توقيعًا، وينبغي تجنبها في البروتوكولات التي تتوقع حروف ASCII في بداية الملف. وفي الواقع العملي، تساعد BOM بعض برامج Windows القديمة وExcel على التعرّف على UTF-8، لكنها قد تعطّل نصوص Unix البرمجية (shell scripts) وملفات الإعداد التي تقرؤها برامج معينة.
وفي UTF-16 تزداد أهمية BOM، لأنها تخبر القارئ بترتيب البايتات: FF FE تعني UTF-16 بترتيب little-endian، وFE FF تعني big-endian.
نهايات الأسطر
يتوقف الحرف الذي يحدد نهاية السطر أيضًا على نظام التشغيل:
| النظام | نهاية السطر | البايتات |
|---|---|---|
| Windows | CRLF | 0D 0A |
| Linux وmacOS | LF | 0A |
| Mac OS الكلاسيكي (قبل OS X) | CR | 0D |
ظلّت المفكرة (Notepad) في Windows سنوات طويلة لا تفهم إلا CRLF، فكان الملف المكتوب على Linux يظهر سطرًا واحدًا طويلًا. وأعلنت Microsoft دعم LF وCR في المفكرة في 8 مايو 2018، ووصل التغيير إلى المستخدمين مع الإصدار 1809 من Windows 10.
أين يُستخدم TXT؟
- الملاحظات والمسودات: ملاحظات سريعة لا تحتاج إلى تنسيق.
- البرمجيات: ملفات README ونصوص التراخيص والشيفرة المصدرية وملفات الإعداد والسجلات.
- تبادل البيانات: القوائم البسيطة والبيانات المصدّرة التي تنتقل بين الأنظمة.
- الحفظ طويل الأمد: النصوص التي يجب أرشفتها دون الاعتماد على أي تطبيق.
- إمكانية الوصول والمعالجة: أنظف مدخلات لقارئات الشاشة ومحركات البحث وأدوات تحليل النصوص.
نقاط القوة والضعف
نقاط القوة: يفتحها كل جهاز وكل نظام تشغيل. والملفات صغيرة جدًا. ولا اعتماد فيها على إصدارات البرامج، وخطر التلف ضئيل للغاية. وتستطيع أنظمة التحكم في الإصدارات مثل Git عرض التغييرات سطرًا بسطر. ولا يمكنها حمل وحدات ماكرو أو كائنات مضمّنة، ما يجعلها آمنة.
نقاط الضعف: لا تستطيع احتواء التنسيق أو الصور أو الجداول أو الروابط. ولأن الترميز لا يُسجَّل في الملف، فقد يُخمَّن خطأً. كما تسبب اختلافات نهايات الأسطر مشكلات صغيرة لكنها مزعجة بين الأنظمة. وإذا كنت تحتاج إلى بنية مثل العناوين والقوائم، فإن Markdown خيار أفضل.
ما البرامج التي تفتح TXT؟
تفتح المفكرة على Windows، وTextEdit على macOS، وgedit والمحررات المشابهة على Linux ملفات TXT جميعها، كما تستطيع المتصفحات عرض الملفات النصية مباشرةً. أما المحررات المتقدمة مثل Visual Studio Code وNotepad++ وSublime Text فتعرض الترميز ونوع نهاية السطر في شريط الحالة وتتيح تغييرهما بنقرة، ما يجعلها أكثر الأدوات عملية لتشخيص مشكلات الترميز.
المشكلات الشائعة وحلولها
الحروف ذات العلامات تظهر على شكل "é" أو "ü"
حُفظ الملف بترميز UTF-8، لكن البرنامج الذي يقرؤه يفترض Windows-1252. أعد فتحه بترميز UTF-8 في محرر يتيح لك اختيار الترميز. وإذا ظهر ملف CSV أو ملف نصي بهذا الشكل في Excel، فإن حفظه بترميز UTF-8 مع BOM يحل المشكلة عادةً.
الحروف مستبدلة بـ "?" أو "�"
حُفظ الملف بصفحة ترميز قديمة لكنه يُقرأ على أنه UTF-8. افتحه في محررك بعد اختيار صفحة الترميز الصحيحة، ثم احفظه بترميز UTF-8. أما إذا كان النص قد حُفظ بعلامات "?" فعلية، فقد ضاعت الحروف الأصلية وعليك الرجوع إلى المصدر.
النص كله يظهر في سطر واحد
محرر قديم لا يفهم نهايات الأسطر LF. استخدم مفكرة محدَّثة أو محررًا متقدمًا، أو حوّل نهايات الأسطر إلى CRLF.
يوجد حرف غير مرئي في بداية الملف
هذا في الغالب BOM. إذا فشل نص برمجي أو ملف إعداد في سطره الأول، فاحفظه بصيغة "UTF-8 دون BOM".
نصائح لتحويل ملفات TXT
في محوّلنا تُرفع ملفات TXT إلى خادمنا وتُحذف خلال 30 دقيقة. ويُكتشف الترميز تلقائيًا: يُفحص BOM أولًا (UTF-8، وUTF-16 بترتيبَي little-endian وbig-endian)، وإذا لم توجد BOM يُفحص الملف للتأكد من أنه UTF-8 صالح، وإذا لم يكن كذلك يُقرأ على أنه Windows-1254، وهي صفحة ترميز Windows التركية القديمة. أما الملفات التي تحتوي على بايتات NUL كثيرة فتُعامل على أنها ثنائية لا نصية، وتظهر لك رسالة "هذا ليس ملفًا نصيًا".
- مع TXT إلى Word وTXT إلى PDF يصبح كل سطر فقرة وتُحفظ الأسطر الفارغة. وتتحول المسافات البادئة في أول السطر (في الشيفرة أو الشعر أو البنود المرقمة) إلى مسافات غير قابلة للكسر حتى لا تضيع، وتصبح علامات الجدولة البادئة أربع مسافات.
- TXT إلى Markdown نقطة انطلاق جيدة إذا أردت لاحقًا إثراء النص العادي بالعناوين والقوائم.
- وفي الاتجاه المعاكس، يستبعد PDF إلى TXT وWord إلى TXT التنسيق ويفصلان العناوين والفقرات بأسطر فارغة. وتُحفظ ملفات TXT التي ننتجها بترميز UTF-8 مع BOM حتى تُعرض الحروف ذات العلامات بشكل صحيح في برامج مثل المفكرة وExcel.
الأسئلة الشائعة
بأي ترميز أحفظ ملف TXT؟
UTF-8 للملفات الجديدة. فهو يدعم كل اللغات وأصبح شبه عالمي على الويب. استغنِ عن BOM إذا كان الملف سيُقرأ ببرنامج يتوقع UTF-8 دونها، وأضفها إذا كان الملف سيُفتح في برامج مثل Excel.
ما الفرق بين UTF-8 وUTF-8 مع BOM؟
المحتوى متطابق، والفرق أن نسخة BOM تبدأ بالبايتات EF BB BF. يساعد هذا التوقيع بعض البرامج على اكتشاف الترميز، لكنه قد يظهر في برامج أخرى حرفًا أول غير مرئي.
ما الفرق بين TXT وRTF؟
لا يحتوي TXT إلا على حروف. أما RTF فيحمل التنسيق مثل الخط العريض والمائل والخطوط والجداول عبر أوامر تحكم مضمّنة في النص. وإذا لم تكن تحتاج إلى تنسيق، فإن TXT أبسط وأسهل نقلًا.
كيف أعرف ترميز ملف TXT؟
تعرض محررات مثل Visual Studio Code وNotepad++ الترميز في شريط الحالة. كما تعرض الإصدارات الحالية من المفكرة الترميز ونوع نهاية السطر في شريط الحالة.
هل يمكن أن يحتوي ملف TXT على فيروس؟
لا يحتوي الملف النصي العادي بحد ذاته على شيفرة قابلة للتنفيذ. لكن احذر من الامتدادات المزدوجة مثل "document.txt.exe"، فإظهار امتدادات الملفات في Windows يساعدك على كشف هذه الحيلة.
المصادر
- IETF RFC 3629: UTF-8, a transformation format of ISO 10646 (نوفمبر 2003)
- اتحاد Unicode: الأسئلة الشائعة حول UTF-8 وUTF-16 وUTF-32 وBOM
- روب بايك: تاريخ UTF-8
- W3Techs: إحصاءات استخدام ترميزات الحروف في المواقع
- Microsoft: Introducing extended line endings support in Notepad (8 مايو 2018)
- ويكيبيديا: ASCII (مصدر ثانوي)


