الانتقال إلى المحتوى الرئيسي

كيف يمكنني معرفة حجم النص في بايت في بيثون?

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

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

طباعة (و " حجم النص بالبايت: {الحجم}")

في هذا المثال ، النص " مرحبا بالعالم!"سيتم تحويلها إلى بايت باستخدام طريقة ترميز ('أوتف-8'). ثم وظيفة لين () سيعود حجم النص في بايت التي سيتم عرضها على الشاشة.

  1. تحديد حجم النص بالبايت في بايثون
  2. سيس.طريقة الحصول على الحجم
  3. ترميز وفك تشفير النص
  4. خاتمة
  5. باستخدام وحدة سيس
  6. باستخدام وظيفة جيتسيزوف ()
  7. أمثلة على العمل مع النص
  8. سؤال وجواب
  9. كيف يمكنني معرفة حجم النص في بايت في بيثون?
  10. كيف يمكنني معرفة حجم النص في بايت في بيثون باستخدام ترميز أوتف-8?
  11. كيف يمكنني معرفة حجم النص في بايت في بيثون باستخدام ترميز أسي?
  12. هل هناك طريقة لمعرفة حجم النص في بايت دون استخدام المدمج في وظائف?

تحديد حجم النص بالبايت في بايثون

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

سيس.طريقة الحصول على الحجم

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

هنا مثال على استخدام النظام.الحصول على وظيفة لتحديد حجم النص:

"'بايثون

نظام الاستيراد

نص = "نموذج نص"

الحجم = النظام.جيتسيزوف (نص)

طباعة (و "حجم النص: {حجم} بايت")

"`

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

ترميز وفك تشفير النص

هناك طريقة أخرى لتحديد حجم النص وهي ترميز وفك تشفير سلسلة باستخدام ترميزات مختلفة وتحديد حجم كائن البايت الناتج.

"'بايثون

نص = "نص مثال"

نص مشفر = نص.ترميز ("أوتف-8")

الحجم = لين (نص مشفر)

طباعة (و "حجم النص: {حجم} بايت")

"`

في هذا المثال ، يتم ترميز النص باستخدام ترميز أوتف-8 باستخدام طريقة التشفير. ثم يتم تحديد حجم كائن البايت المستلم باستخدام وظيفة لين وعرضها على الشاشة.

خاتمة

الآن أنت تعرف طريقتين لتحديد حجم النص بالبايت في بايثون: باستخدام وظيفة سيس.جيتسيزوف واستخدام سلسلة الترميز وفك التشفير. يمكنك اختيار الطريقة المناسبة بناء على مهمتك المحددة.

باستخدام وحدة سيس

توفر وحدة النظام في بايثون الوصول إلى بعض المتغيرات والوظائف التي يستخدمها المترجم أو يدعمها. يمكنك استخدامه للحصول على معلومات حول البيئة الحالية وتنفيذ بعض عمليات النظام.

لتحديد حجم النص بالبايت في بايثون ، يمكنك استخدام وظيفة جيتسيزوف () من وحدة سيس. ترجع هذه الدالة حجم الكائن بالبايت.

مثال الاستخدام:

نظام الاستيراد

النص = " مرحبا بالعالم!"

الحجم = النظام.جيتسيزوف (نص)

طباعة (و " حجم النص بالبايت: {الحجم}")

نتيجة لتنفيذ هذا الرمز ، سيتم إخراج ما يلي:

حجم النص بالبايت: 35

يرجى ملاحظة أن حجم النص قد يختلف اعتمادا على خصائص النظام ، وكذلك على ترميز الأحرف. في المثال أعلاه ، حجم النص هو 35 بايت ، والذي يتوافق مع ترميز أوتف-8.

باستخدام وظيفة جيتسيزوف ()

في بيثون ، يمكنك استخدام وظيفة جيتسيزوف () من وحدة سيس المضمنة لتحديد حجم كائن في بايت. تقوم الدالة جيتسيزوف() بإرجاع حجم الكائن بالبايت ، بما في ذلك الكائن بأكمله وجميع مراجعه.

وفيما يلي مثال على استخدام وظيفة جيتسيزوف ():

نظام الاستيراد

نص = "نموذج نص"

الحجم = النظام.جيتسيزوف (نص)

طباعة ("حجم النص:" ، الحجم، "بايت")

نتيجة لتنفيذ هذا الرمز ، سيتم عرض معلومات حول حجم النص. مثال على النص بالبايت.

ومع ذلك ، تجدر الإشارة إلى أن وظيفة جيتسيزوف() ترجع فقط مقدار الذاكرة التي يشغلها الكائن نفسه ، ولا تأخذ في الاعتبار تكاليف الذاكرة الإضافية لتخزينها. على سبيل المثال ، إذا تم تخزين النص في متغير ، فبالإضافة إلى النص نفسه ، سيتم أيضا تشغيل ذاكرة تخزين المتغير.

لتحديد الحجم الكامل للنص ، جنبا إلى جنب مع تكاليف الذاكرة الإضافية ، يمكنك استخدام وحدات أخرى مثل بيمبلر أو أوبجسيزي.

باستخدام وظيفة جيتسيزوف () يسمح لك بسرعة وسهولة تحديد حجم كائن في بايت ، والتي يمكن أن تكون مفيدة عند تحسين استخدام الذاكرة في البرنامج.

أمثلة على العمل مع النص

يوفر بايثون العديد من الاحتمالات للعمل مع النص. فيما يلي بعض الأمثلة:

  • طول النص: باستخدام وظيفة لين () ، يمكنك معرفة عدد الأحرف في سلسلة:
كودالنتيجة
النص = " مرحبا بالعالم!"طباعة (لين (نص))
16
  • ترجمة الأحرف الكبيرة / الصغيرة: تسمح لك الطريقتان العلوية () والسفلية () بتحويل النص إلى الأحرف الكبيرة والصغيرة ، على التوالي:
كودالنتيجة
النص = " مرحبا بالعالم!"طباعة (نص.العلوي ())
مرحبا العالم!
طباعة (نص.أقل())
مرحبا ، العالم!
  • تقسيم النص إلى كلمات: باستخدام طريقة الانقسام () ، يمكنك تقسيم سلسلة إلى قائمة من الكلمات:
كودالنتيجة
النص = " مرحبا ، العالم!"الكلمات = النص.انقسام()
طباعة (كلمات)
['مرحبا ،' ، ' العالم!']
  • استبدال السلسلة الفرعية: تسمح لك طريقة الاستبدال () باستبدال سلسلة فرعية بأخرى:
كودالنتيجة
النص = " مرحبا بالعالم!"نص جديد = نص.يستعاض عن ("العالم" ، "الكون")
طباعة (نص جديد)
مرحبا ، الكون!

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

سؤال وجواب

كيف يمكنني معرفة حجم النص في بايت في بيثون?

من أجل معرفة حجم النص بالبايت في بايثون ، يمكنك استخدام وظيفة لين () ، التي ترجع عدد الأحرف في سلسلة ، ثم ضرب هذا الرقم بحجم حرف واحد بالبايت ، اعتمادا على الترميز المستخدم.

كيف يمكنني معرفة حجم النص في بايت في بيثون باستخدام ترميز أوتف-8?

إذا تم استخدام ترميز أوتف-8 في النص ، ثم يمكنك استخدام وظيفة لين() لحساب عدد الأحرف ثم ضرب هذا الرقم بحجم حرف واحد في بايت ، والتي ل أوتف-8 هو 1-4 بايت ، اعتمادا على الحرف.

كيف يمكنني معرفة حجم النص في بايت في بيثون باستخدام ترميز أسي?

إذا تم استخدام ترميز أسي في النص ، ثم يمكنك استخدام وظيفة لين() لحساب عدد الأحرف ومن ثم ضرب هذا الرقم من حجم حرف واحد في بايت ، والتي ل أسي هو 1 بايت.

هل هناك طريقة لمعرفة حجم النص في بايت دون استخدام المدمج في وظائف?

نعم ، يمكنك استخدام طريقة التشفير () لكائن سلسلة ، وتحديد الترميز المطلوب ، ثم الحصول على طول السلسلة المشفرة باستخدام وظيفة لين() لمعرفة حجم النص بالبايت. على سبيل المثال: النص.ترميز ('أوتف-8')