Показать сообщение отдельно
Старый 30.10.2008, 16:48   #15
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений
(для 1,833 пользователей)
Ответ: Сжать текст смс средствами J2me

Так. В таблице, которая находится в википедии, ошибка. Там регистр одного символа не верен. Надо "з" вместо "З". 127 символов, все кроме [ESC] подходят! И отправляются в одиночном смс. Но вот незадача. Я не знаю, что за [ESC] символ. Если верить википедии, то это цитирую:
In the ASCII character code, the character ESC with decimal code 27 and hexadecimal code 1B.
И на самом деле в моём любимом редакторе Notepad2 этот символ обозначается как [ESC]. Но при вставливании этого символа в сообщение (хоть программно, хоть руками через буфер обмена в текстовый редактор сообщения), сообщение переключается в режим юникода. В статье, в предыдущем посте написано, что этот символ используется для ввода некоторых дополнительных символов, например "[ESC](" преобразуется в "{", "[ESC]=" в "~"... Если, конечно, я вручную такую последовательность введу, то они не преобразуются, преобразование происходит на уровне прошивки телефона видимо. То есть я сразу ввожу { или ~, но при передачи сообщения, эти символы принимают вид этих последовательностей. И, видимо, ВНЕ последовательностей одиночный символ [ESC] использовать нельзя. У кого есть какие мысли на этот счёт? Можно использовать вместо него { или ~, ну или вот ещё символы, которые можно закодировать последовательностью с [ESC]: }^\[]|€, но в таком случае один из 128 символов будет иметь размер в два символа. То есть нельзя наперёд сказать, что в отведённый под смс размер в 160 символов влезет именно 160 символов. А если всё сообщение будет состоять из кучи { (либо }^\[]|€), то в сообщение влезет только 80 символов. То есть никакой универсальности, в общем, это очень неудобно. Кто что посоветует?
(Offline)
 
Ответить с цитированием