bytes() تسلسل بايتات غير قابل للتغيير
آخر تحديث: 2026-09-22
bytes() تسلسل بايتات غير قابل للتغيير
تُرجع bytes() تسلسل بايتات غير قابل للتغيير؛ ويمكن إنشاؤه من تسلسل بايتات أو سلسلة مع ترميز أو كائن قابل للتكرار من الأعداد الصحيحة.
| التصنيف | الدوال المدمجة |
|---|---|
| النوع | دالة مدمجة |
| إصدار بايثون | all |
📝 الصياغة
bytes([source[, encoding]]]])
⚙️ المعاملات
| source اختياري | Optional: an int, string, iterable of ints, or bytes-like object.(القيمة الافتراضية:None) |
|---|---|
| encoding اختياري | Encoding name used when source is a str, e.g. 'utf-8'.(القيمة الافتراضية:None) |
| errors اختياري | Error-handling scheme for encoding, e.g. 'strict' / 'ignore'.(القيمة الافتراضية:None) |
القيمة المُعادة:bytes. An immutable bytes object.
💥 الاستثناءات
TypeError— Raised when source has an unsupported type.ValueError— Raised when an element is outside 0-255.
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
b'hello'
b'\xe4\xb8\xad'
🏷️ دوال مدمجة ذات صلة
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qماذا يُرجع bytes(5)؟ كثيرون يظنون أنه b'5'.
Aيُرجع b'\x00\x00\x00\x00\x00'. الوسيطة الصحيحة تعني الطول، فتُنشأ بايتات صفرية بعددها، وليست الصيغة النصية للرقم.
Qما الفرق بين bytes() و bytearray()؟
Aالفرق الجوهري هو القابلية للتغيير: bytes غير قابل للتغيير بينما bytearray قابل؛ بقية قواعد البناء (عدد صحيح، سلسلة+ترميز، قائمة أعداد صحيحة) متماثلة.
Qلماذا يحدث خطأ مع bytes('中文')؟
Aلبناء bytes من سلسلة نصية يجب تمرير الترميز أيضًا: فقط bytes('中文', encoding='utf-8') ينجح، وإلا يُثار TypeError يفيد بغياب الترميز.
Qكيف أحوّل bytes إلى سلسلة نصية؟
Aاستخدم طريقة decode()، مثل b'\xe4\xb8\xad'.decode('utf-8') تُرجع '中'؛ الصيغة المكافئة هي str(b, encoding='utf-8').