Ошибки APK

В SMS буква ə укорачивает сообщение до 70 знаков

Простые латинские буквы вмещают 160 знаков в одну SMS. ə, ö, ü, ğ, ş, ç и ı в той таблице нет. Одной хватает, чтобы всё сообщение перешло в другую таблицу: предел становится 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))