سؤال

أحتاج إلى طريقة للكشف عن ما إذا كان الملف يحتوي على أحرف من مجموعة معينة.

على وجه التحديد، أريد اكتشاف وجود أحرف سيريلية مشفرة UTF8 في سلسلة من الملفات. هل هناك أداة للقيام بذلك؟

شكرا

هل كانت مفيدة؟

المحلول

إذا كنت تبحث عن حل جاهز، فقد ترغب في المحاولة enca..

ومع ذلك، إذا كنت ترغب فقط في اكتشاف وجود ما يمكن فك شفرة ما يمكن فك شفرة الأحرف السيريلية UTF-8 (دون أي شيكات صحة UTF-8 كاملة)، فلديك فقط GREP لشيء مثل /(\xD0[\x81\x90-\xBF]|\xD1[\x80-\x8F\x91]){ن,}/ (هذا Regexp الدقيق هو ن الأحرف السيريلية الروسية المرفوعة UTF8-المشفرة). للتحقق الإضافي من أن الملف بأكمله يحتوي على بيانات UTF-8 صالحة فقط، يمكنك استخدام شيء مثل isutf8(1).

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

نصائح أخرى

IIRC مكتبة وحدة العناية المركزة لديها رمز يقوم بالكشف عن مجموعة الأحرف. على الرغم من أنه في الأساس أفضل جهد تخمين.

تحرير: لقد أتذكر بشكل صحيح، تحقق من هذا الورق / البرنامج التعليمي

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top