تحويل الأزواج البديلة إلى سلسلة عادية في بايثون
يبحث هذا السؤال عن طريقة لتحويل سلسلة Python Unicode التي تحتوي على أزواج بديلة إلى سلسلة قياسية التمثيل. الهدف هو الحصول على حرف Unicode واضح أو تنسيق سداسي عشري موحد.
يقدم مقتطف التعليمات البرمجية المقدم سلسلة Python تتضمن زوجًا بديلاً يمثل رمزًا تعبيريًا:
emoji = "This is \ud83d\ude4f, an emoji."
لحل المشكلة، من الضروري التمييز بين الزوج البديل الحرفي سلاسل في ملف JSON على القرص (ستة أحرف) وسلاسل زوجية بديلة مكونة من حرف واحد في الذاكرة (حرف واحد).
إذا كانت السلسلة عبارة عن زوج بديل مكون من حرف واحد موجود في كود مصدر Python (مثل المثال المقدم)، فهو يشير إلى خطأ محتمل في المنبع. إذا تمت مواجهة ذلك ولا يمكن حله، فيمكن استخدام معالج أخطاء المرور البديل:
"\ud83d\ude4f".encode('utf-16', 'surrogatepass').decode('utf-16')
سيؤدي هذا إلى إخراج حرف Unicode المقابل، والذي يتم تمثيله كعلامة استفهام (?):
'?'
في حالة وجود سلاسل زوجية بديلة حرفية في ملف JSON على القرص، يجب ألا يكون الزوج البديل موجودًا بعد تحميل بيانات JSON:
ascii(json.loads(r'"\ud83d\ude4f"'))
سيؤدي هذا إلى إخراج المعيار التنسيق السداسي العشري لحرف Unicode:
'\U0001f64f'
يعد فهم هذا التمييز ضروريًا للتعامل مع الأزواج البديلة في Python وتحويلها إلى تنسيق قابل للاستخدام.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3