iconv الأمر في Linux

Iconv Alamr Fy Linux



تأكد من تحديث جهاز Linux الخاص بك قبل التعمق في تنفيذ هذه المقالة. للتحديث ، استخدم الأداة المساعدة 'apt' في Linux مع الكلمة الأساسية 'update' وقم بتشغيل هذه التعليمات باستخدام امتيازات 'sudo'. على الرغم من أنه يمكننا القفز إلى التنفيذ الآن ، إلا أننا نفضل ترقية هذا النظام أيضًا ، أي أن الترقية ستقلل من فرصة حدوث الأخطاء ، وسيكون النظام قادرًا على حل المشكلات بشكل أكثر دقة. لذلك ، استخدم الأداة المساعدة 'apt' ضمن تعليمات 'الترقية'.

دعونا نلقي نظرة على الأداة المساعدة iconv لنظام التشغيل Linux في وحدة التحكم الطرفية الخاصة به الآن. لذلك ، قمنا بتنفيذ التعليمات 'iconv' بعلامة '-l' لعرض جميع مجموعات الأحرف المشفرة المعروفة والأكثر استخدامًا على شاشة المحطة الطرفية الخاصة بنا. سيعرض مجموعات الأحرف المشفرة مع الأسماء المستعارة الخاصة بهم. يمكنك رؤية قائمة طويلة من مجموعات الأحرف المشفرة بعد التمرير لأسفل قليلاً.







حان الوقت الآن للبدء في تنفيذ الأمر iconv في Linux. أولاً ، نحتاج إلى أنواع مختلفة من الملفات في نظامنا لتحويل نوع واحد من الملفات إلى نوع آخر. وبالتالي ، فإننا نستخدم استعلام 'touch' في المحطة الطرفية لوحدة التحكم لإنشاء ثلاثة ملفات مختلفة ، أي نوع Java ونوع C ونوع النص. سرد محتويات الدليل الحالي ، ستجد فيه الملفات التي تم إنشاؤها حديثًا.



بعد ذلك ، سننظر في نوع كل ملف على حدة باستخدام استعلام 'file' مع اسم كل ملف. يحتاج هذا الاستعلام إلى الخيار '-I' لعرض نوع مجموعة أحرف الترميز لكل ملف على حدة. إذا نسيت استخدام الخيار '-I' ، فاستخدم علامة '—mime' بدلاً من ذلك. تعمل كل من علامتي '-I' و '—mime' بالطريقة نفسها.



الآن ، بعد تنفيذ تعليمات 'file' لملف نوع 'txt' ، حصلنا على ترميز نوع الحرف 'US-ASCII'. أثناء استخدام نفس التعليمات لملفات Java و C ، فإنه يوضح أن كلا الملفين يحتويان على ترميز نوع حرف 'BINARY'. إلى جانب ذلك ، توضح هذه التعليمات أن كل هذه الملفات الثلاثة فارغة.





الآن ، سوف نوضح استخدام تعليمات iconv في وحدة التحكم لتحويل ملف ترميز مجموعة أحرف معينة إلى ترميز مجموعة أحرف أخرى. قبل ذلك ، يجب أن نضيف بعض التعليمات البرمجية أو البيانات إلى ملفاتنا. لذلك ، قمنا بإضافة كود Java داخل ملف “text.java” ، ورمز C داخل ملف “text.c” ، وأضفنا بيانات نصية داخل ملف “test.txt”. تم استخدام استعلام القط هنا لعرض محتويات جميع الملفات الثلاثة ، كما هو موضح أدناه:



الآن بعد أن أضفنا البيانات بنجاح ، سنرى ترميز مجموعة الأحرف لهذه الملفات مرة أخرى. لذلك ، جربنا نفس تعليمات الملف داخل الصدفة التي تحتوي على علامة '-I' وأسماء الملفات ، على سبيل المثال ، test.txt و test.java و test.c. يوضح تشغيل هذه الإرشادات الثلاثة بشكل منفصل لجميع الملفات الثلاثة أنه تم تحديث ترميز مجموعة الأحرف لملفات Java و C بينما تظل كما هي بالنسبة للملف النصي ، أي US-ASCII. كان ترميز ملفات Java و C سابقًا 'ثنائي' ؛ الآن ، إنه 'US-ASCII'. أيضًا ، يُظهر أن الملف النصي يحتوي على بيانات نص عادي بينما يحتوي ملفا التعليمات البرمجية الآخران على البرامج النصية كمحتوى.

حان الوقت لأداء المهمة الفعلية المطلوبة لهذه المقالة ، أي تحويل ترميز إلى آخر باستخدام الأمر iconv في shell. وبالتالي ، فقد استخدمنا تعليمة “iconv” داخل محطة الصَدَفة بامتيازات “sudo”. يأخذ هذا الأمر الخيار '-f' لتقف على 'من' ، وخيار '-t' يرمز إلى 'إلى' ، أي من ترميز إلى آخر.

بعد الخيار '-f' ، يجب عليك تحديد ترميز ملفك بالفعل ، أي US-ASCII. بينما بعد الخيار '-t' ، عليك تحديد الترميز الذي تريد استبداله بالتشفير القديم ، أي UNICODE. يجب عليك تحديد اسم الملف المستخدم كمصدر مع الخيار –o لإنشاء صورة الكائن الخاصة به. ستكون صورة الكائن ملفًا آخر ، أي 'new.c' ، من نفس النوع ولكن مع الترميز الجديد ونفس البيانات.

بعد تنفيذ التعليمات التالية ، ستحصل على ملف جديد في نفس الدليل ، أي حسب استعلام 'ls'. الآن ، سوف نتحقق من ترميز مجموعة الأحرف لملف جديد تم إنشاؤه باستخدام تعليمات iconv. سنستخدم مرة أخرى تعليمات 'file' مع الخيار '-I' واسم الملف الجديد ، أي new.c.

ستلاحظ أن مجموعة الأحرف لهذا الملف الجديد كانت مختلفة عن مجموعة الأحرف الخاصة بملف قديم ، أي مجموعة أحرف UTF-16LE. هذا لأننا قمنا بترجمة تشفير US-ASCII إلى ترميز UNICODE باستخدام تعليمات iconv لملفنا new.c. عرض الاستعلام 'cat' نفس رمز C داخل الملف ولكنه بدأ ببعض أحرف Unicode ، كما هو مقدم بالفعل.

بطريقة مشابهة جدًا ، سنقوم بتغيير ترميز الملف النصي test.txt. توضح تعليمات الملف أنه يحتوي على ترميز مجموعة أحرف US-ASCII. تم استخدام الأمر iconv بنفس التنسيق تمامًا لتحويل ترميز ملف test.txt من US-ASCII إلى TURKISH8. سترى أنه لا يغير US-ASCII إلى التركية.

بعد ذلك ، استخدمنا نفس الأمر لتغطية تشفير مجموعة أحرف US-ASCII إلى UTF-32 لنفس الملف. هذه المرة ، تعمل. هذا لأنه في بعض الأحيان قد تكون هناك مشكلة في تحويل مجموعة ترميز إلى أخرى ، أو قد لا يدعمها الترميز الآخر.

استنتاج

ناقش هذا المقال كيفية استخدام تعليمات iconv Linux لتحويل مجموعة أحرف ترميز إلى مجموعة أخرى باستخدام الأسماء المستعارة الخاصة بهم. بهذه الطريقة ، كان علينا إنشاء بعض الملفات من أنواع مختلفة.