English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دروس بايثون الأساسية

تحكم بايثون في العملية

الوظائف في Python

أنواع البيانات في Python

عمليات ملف بايثون

أجسام وكلاء بايثون

تاريخيات بايثون

معرفة متقدمة في بايثون

دليل بايثون

استخدام دالة encode() للخط النصي في بايثون وآلاف الأمثلة

طرق النصوص بايثون

يستخدم طريقة encode() للخط النصي الترميز المحدد لترميز النص. إذا لم يتم تحديد الترميز، سيتم استخدام UTF-8.

من بداية بايثون 3.0،النصيتم تخزينه بصيغة Unicode، أيالنصيتم تمثيل كل حرف في هذا النص بمعادلة نصية. لذلك، يكون كل نص مجرد سلسلة من نقاط النص.

للحفاظ على هذه النصوص بشكل فعال، يتم تحويل سلسلة من نقاط النص إلى مجموعة من الثمانيات. يتم هذا العمل فيالترميز.

هناك أنواع مختلفة من الترميز، ويختلف معالجة النصوص بينها. من بين الترميزات الشائعةUTF-8،ASCIIالخ.

باستخدام دالة encode() للخط النصي، يمكنك تحويل الخط النصي غير المترميز إلى أي ترميز يدعمه بايثون. بالافتراض، يستخدم بايثونUTF-8الترميز.

نحو دالة encode() هو:

string.encode(encoding='UTF-8',errors='strict')

معلمات دالة encode() للخط النصي

بالافتراض، لا تحتاج دالة encode() إلى أي معلمات.

يستعيد إصدار الترميز UTF-8 للخط النصي. إذا حدث خطأ، سيُطلق استثناء UnicodeDecodeError.

لكن، يحتاج إلى إثنين من المعلمات:

  • encoding -يجب ترميز النص باستخدام هذا النوع من الترميز

  • errors-الاستجابة عند فشل الترميز. هناك ستة أنواع من استجابات الأخطاء

    • strict-الاستجابة الافتراضية، تسبب في حالات الفشل في إطلاق استثناء UnicodeDecodeError

    • ignore-تخطي Unicode غير القابلة للترميز من النتيجة

    • replace-تبديل Unicode غير القابلة للترميز إلى علامة الاستفهام؟

    • xmlcharrefreplace-إدراج مرجع XML بدلاً من Unicode غير القابلة للترميز

    • backslashreplace-إدراج سلسلة المسافات المكونة من أربعة حروف بدلاً من Unicode غير القابلة للترميز

    • namereplace-إدراج سلسلة النقاط النهائية \ N {...} بدلاً من Unicode غير القابلة للترميز

مثال 1: الترميز باستخدام الترميز الافتراضي Utf-8

# نص Unicode
string = 'pythön!'
# عرض النص
print('النص:', string)
# الترميز الافتراضي هو utf-8
string_utf = string.encode()
# عرض النتيجة
print('إصدار الترميز هو:', string_utf)

عند تشغيل هذا البرنامج، الناتج سيكون:

النص: b'pythön!'
إصدار الترميز هو: b'pyth\xc3\xb6n!'

مثال 2: استخدام معلمات الترميز

# نص Unicode
string = 'pythön!'
# عرض النص
print('النص:', string)
# خطأ ignore
print('إصدار النص بعد الترميز (ignore) :', string.encode("ascii", "ignore"))
# خطأ التبديل
print('إصدار النص بعد الترميز (replace) :', string.encode("ascii", "replace"))

عند تشغيل هذا البرنامج، الناتج سيكون:

النص: b'pythön!'
إصدار النص بعد الترميز (ignore) : b'pythn!'
إصدار النص بعد الترميز (replace) : b'pyth?n!'

ملاحظة:تجربة مختلفة من الرموز النصية والمعلمات الإضافية.

طرق النصوص بايثون