أخطاء APK

في الرسالة القصيرة حرف ə يُنزل الرسالة إلى 70 رمزًا

الحروف اللاتينية البسيطة تسع 160 رمزًا في رسالة واحدة. ə وö وü وğ وş وç وı ليست في ذلك الجدول. واحد منها ينقل الرسالة كلها إلى جدول آخر: يصير الحد 70. في الرسالة الطويلة تُقسم الأجزاء عند 67 رمزًا.

جدول المشغّل التركي قد يحفظ ö وü وğ وş وç وı. وə ليست هناك أيضًا. أكثر بوابات الإرسال لا تفتح الجدول التركي، لذلك كل هذه الحروف تُنزل الرسالة إلى 70.

استبدال الحرف بـ e يغيّر الكلمة. əl وel ليستا واحدًا. احسب أولًا.

XUSUSI = set("əƏöÖüÜğĞşŞçÇıİ")

def hisseler(metn: str) -> int:
    ucs = any(h in XUSUSI for h in metn)
    n = len(metn.encode("utf-16-le")) // 2
    if not ucs:
        return 1 if n <= 160 else (n + 152) // 153
    return 1 if n <= 70 else (n + 66) // 67

print(hisseler("a" * 100))
print(hisseler("ə" + "a" * 99))