الفرق بين المراجعتين لصفحة: «Python/urllib/parse/quote plus»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الدالة <code>urllib.parse. | <noinclude>{{DISPLAYTITLE:الدالة <code>urllib.parse.quote_plus()</code> في بايثون}}</noinclude> | ||
هذه الدالة مشابهة للدالة <code>[[Python/urllib/parse/quote|quote()]]</code> ولكنّها تستبدل المسافات الفارغة بعلامات <code>+</code>، وهذا هو المطلوب لاقتباس قيم [[HTML/form|نماذج HTML]] عند بناء سلاسل الاستعلام النصية التي ستُستخدم في عنوان URL. | هذه الدالة مشابهة للدالة <code>[[Python/urllib/parse/quote|quote()]]</code> ولكنّها تستبدل المسافات الفارغة بعلامات <code>+</code>، وهذا هو المطلوب لاقتباس قيم [[HTML/form|نماذج HTML]] عند بناء سلاسل الاستعلام النصية التي ستُستخدم في عنوان URL. |
المراجعة الحالية بتاريخ 20:43، 5 فبراير 2019
هذه الدالة مشابهة للدالة quote()
ولكنّها تستبدل المسافات الفارغة بعلامات +
، وهذا هو المطلوب لاقتباس قيم نماذج HTML عند بناء سلاسل الاستعلام النصية التي ستُستخدم في عنوان URL.
البنية العامة
urllib.parse.quote_plus(string, safe='', encoding=None, errors=None)
المعاملات
safe
يحدّد هذا المعامل محارف ASCII الإضافية التي يجب على الدالة أن لا تحيطها بعلامات اقتباس.
تُهرّب علامات +
في السلسلة النصية الأصلية إلا إذا أدرجت كقيمة للمعامل safe
. لا يأخذ المعامل safe
القيمة الافتراضية '/'
كما هو الحال مع الدالة quote()
.
string
يمكن أن يكون سلسلة نصية أو كائن bytes.
ملاحظة:
اعتُمد المعيار RFC 3986 عوضًا عن المعيار RFC 2396 لاقتباس سلاسل URL النصية في الإصدار 3.7 من بايثون، وقد أضيف الرمز "~"
إلى مجموعة المحارف المحجوزة.
encoding
و errors
يحدّد هذان المعاملان طريقة تعامل الدالة مع الحروف الخارجة عن الترميز ASCII، وكما هو مقبول في التابع str.encode()
. يأخذ المعامل encoding
القيمة الافتراضية 'utf-8'
، أما المعامل errors
فيأخذ القيمة الافتراضية 'strict'
والتي تعني أنّ الحروف غير المدعومة ستتسبب في إطلاق الاستثناء UnicodeEncodeError
. يجب عدم إعطاء قيمة للمعاملين encoding
و errors
إن كانت السلسلة النصية المعطاة من نوع bytes
وإلا فإنّ الدالة ستُطلق الاستثناء TypeError
.
أمثلة
يبين المثال التالي طريقة عمل الدالة:
>>> import urllib.parse
>>> urllib.parse.quote_plus('/El Niño/')
'%2FEl+Ni%C3%B1o%2F'
انظر أيضًا
- الدالة
urllib.parse.quote()
: تستبدل الدالة الحروف الخاصة في السلسلة النصية المعطاة باستخدام علامة التهريب%xx
. - الدالة
urllib.parse.quote_from_bytes()
: تشبه هذه الدالة الدالةquote()
ولكنّها تستقبل كائناتbytes
عوضًا عن كائنات str، ولا تؤدي عمليات الترميز من السلاسل النصية إلى البايتات. - الدالة
urllib.parse.unquote()
: تحوّل الدالة الحروف المهرّبة بالصيغة%xx
إلى الحروف الأصلية المكافئة لها. - الدالة
urllib.parse.unquote_plus()
: هذه الدالة مشابهة للدالةunquote()
ولكنّها تستبدل علامات+
بالمسافات البيضاء، وهذا هو المطلوب عند إلغاء الاقتباس من قيم نماذج HTML. - الدالة
urllib.parse.unquote_to_bytes()
: تحول الدالة الحروف المهرّبة بالصيغة %xx
إلى القيمة الثمانية المفردة المقابلة لها، وتعيد كائنbytes
. - الدالة
urllib.parse.urlencode()
: تحوّل الدالة كائن ربط mapping object أو تسلسلًا من صفوف ذات عنصرين، والتي قد تحتوي على كائناتstr
أوbytes
إلى سلسلة نصية مرمّزة بالنسبة المئوية ضمن الترميز ASCII.