ترميز النص
هل يعرف قارئي ترميز الملف، أم يخمّن؟
يبني الإعداد المسبق text-encoding بأمر واحد مجموعة كاملة من ملفات الاختبار الحقيقية لهذا
السؤال، وبجانبها manifest.json يحدد كيف يجب أن يتفاعل نظامك مع كل ملف. كل ما يلي
مقروء من البرنامج، عند القيم الافتراضية لهذا الإصدار.
ماذا يكتشف عادةً؟
- قارئ يفترض UTF-8 فيعرض ملف UTF-16 بحرف واحد من كل ثلاثة أو كصفوف من المربعات
- علامة ترتيب بايتات تُقرأ كمحتوى، فيبدأ أول حقل في الاستيراد بثلاثة أحرف غريبة
- مستورد يخمّن الترميز من البايتات الأولى ويخمّن بشكل مختلف مع ملف أطول
- ملف CRLF يُقسَّم إلى صفوف مع صف فارغ بعد كل صف، أو حرف إرجاع الحامل يبقى داخل الحقل الأخير
ماذا في المجموعة؟
عند القيم الافتراضية، كما يبلّغ tfg preset show text-encoding:
| الملفات | 20 |
|---|---|
| الأهداف في وصفته | 20 |
| الحجم الإجمالي | 81 920 B |
| الصيغ | csv, log, md, txt, xml |
وما يتوقعه بيان تلك المجموعة من نظامك:
| المتوقع | المعنى | الملفات |
|---|---|---|
accept | ينبغي أن يقبل نظامك الملف. | 10 |
unspecified | يعتمد على قواعد نظامك. أنت من يقرر، ثم تتحقق من أن ما يحدث هو ما قصدته. | 10 |
ما الذي يمكنك تغييره؟
| الإعداد | يقبل | الافتراضي | ما يفعله |
|---|---|---|---|
--sample |
حجم مثل 2mb | 4kb |
حجم كل ملف في المجموعة. يخزّن UTF-16 بايتين لكل حرف، لذا يُرفض العدد الفردي. |
كيف تشغّله؟
اطّلع على كلفة المجموعة، أو ابنِها، أو خذ وصفتها لتعدّلها:
tfg preset show text-encoding
tfg generate --preset text-encoding --out ./text-encoding
tfg preset eject text-encoding > text-encoding.yaml
أو ابنِ عليه في وصفة خاصة بك، بجانب اختباراتك:
version: 1
extends: preset:text-encoding