В SMS буква ə укорачивает сообщение до 70 знаков
Простые латинские буквы вмещают 160 знаков в одну SMS. ə, ö, ü, ğ, ş, ç и ı в той таблице нет. Одной хватает, чтобы всё сообщение перешло в другую таблицу: предел становится 70. В длинном сообщении части делятся по 67 знаков.
Турецкая таблица оператора может держать ö, ü, ğ, ş, ç и ı. Буквы ə нет и там. Большинство шлюзов турецкую таблицу не включают, поэтому все эти буквы сбрасывают сообщение на 70.
Замена буквы на e меняет слово. əl и el — не одно и то же. Сначала посчитай.
- Код печатает два числа. Сто букв
a— это одна часть. Те же сто знаков сəвпереди — две части. - Одной
əдостаточно. Сообщение уходит на 70, даже если остальные буквы латинские. - 71 знак — это две части. Дальше деление по 67: до 134 две части, 135 — три.
- Эмодзи тоже сбрасывает сообщение на 70 и иногда занимает два места. Этот счётчик это отдельно не считает.
- Убирать букву — менять смысл. Перед отправкой посмотри число частей.
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))
- python не является внутренней или внешней командой
- Буква ə в консоли становится квадратом
- Excel портит букву ə
- Буква ə на странице становится вопросом
- Excel открывает CSV одним столбцом
- PowerShell не запускает скрипт
- В JSON буква ə становится \u0259
- APK не устанавливается
- Что такое parse error?
- Потерян keystore
- Подписи не совпадают
- Ошибка имени пакета
- Файл APK повреждён
- Play Protect блокирует
- Пакет недействителен
- Не хватает памяти
- Приложение не совместимо с устройством
- Старая версия не устанавливается
- XAPK не устанавливается
- Слово ödəyici становится ödÉ™yici
- В C# буква ə становится вопросительным знаком
- Переписка WhatsApp ломает ə в Excel
- В PDF буква ə становится квадратом
- В MySQL буква ə становится вопросительным знаком
- В Java буква ə портится для Excel
- В PHP буква ə становится вопросительным знаком
- На Android буква ə становится вопросительным знаком
- QR-код не принимает букву ə
- Как проверяется образец IBAN Азербайджана
- Девятую цифру VÖEN посчитать нельзя
- Gradle sync не удался
- Не удалось разрешить зависимость (Could not resolve)
- Ошибка Duplicate class
- Manifest merger failed
- Лимит dex: 65536 методов
- R8: Missing class
- Несовместимая версия JDK
- SDK location not found
- Конфликт minSdkVersion
- compileSdk слишком низкий
- EAS build: ошибка Gradle
- Ошибка expo prebuild
- Metro: Unable to resolve module
- Hermes: ошибка JS только в release
- Белый экран в release
- Красный экран: нет связи с Metro
- Несовпадение версий Expo SDK
- Ошибка Capacitor sync
- Capacitor: белый экран
- EAS: ошибка keystore и credentials
- Keystore tampered / неверный пароль
- Неверный alias или пароль ключа
- Play: подписано не тем ключом
- INSTALL_FAILED_UPDATE_INCOMPATIBLE
- INSTALL_FAILED_VERSION_DOWNGRADE
- INSTALL_FAILED_INSUFFICIENT_STORAGE
- INSTALL_FAILED_NO_MATCHING_ABIS
- Ошибка разбора пакета (Parse error)
- Ошибка «App not installed»
- Установка AAB-файла на телефон
- adb: устройство «unauthorized»
- adb: устройство не найдено
- Несовпадение версии сервера adb
- Activity class does not exist
- Play: слишком низкий targetSdk
- Play: отклонение по политике разрешений
- Play: требование 64-bit
- Play: versionCode уже использован
- Краш ClassNotFound / NoSuchMethod
- Краш OutOfMemoryError
- CLEARTEXT communication not permitted
- SecurityException: разрешение отклонено