Почему при наборе СМС кириллицей можно ввести 70 символов в пределах одного сообщения, а при наборе латиницей-140?

2 ответа

По стандарту GSM SMS может содержать до 140 8-битных байт. Существует две стандартные однобайтовые кодировки, используемые для SMS, а именно ASCII и ее расширенная версия GSM 03.38. В стандарте GSM используется устаревшие версии этих кодировок, в которых на каждый символ отводится 7 бит. Соответственно, весь набор вмещает в себя 128 символов (2^7=128). Этого хватает только для букв латинского алфавита, цифр, знаков препинания и некоторых специальных символов. Таким образом, в одно SMS сообщение можно уместить до 160 символов в кодировке ASCII ((140*8)/7 = 160).Для кириллических и других символов, не входящих в набор ASCII, используется кодировка Unicode UCS-2, которая позволяет использовать два 8-битных байта для записи одного символа. Из этого следует, что в одном SMS может "поместиться" только 70 символов в кодировке UCS-2 (140/2 = 70).

Этот ответ был полезен?
ответ дан 9 ноября 2016 в 05:37 Поделиться

Потому, что максимальный размер сообщения по стандарту GSM составляет 140 байт.1 латинский символ равен 1 байту.1 кириллический символ равен 2 байтам.Следовательно, 140 латинских символов * 1 = 140.70 кириллических символов * 2 = 140.

Этот ответ был полезен?
ответ дан 4 декабря 2015 в 00:20 Поделиться