jQuery - Как преобразовать строку от текстового поля до байтов?

я должен преобразовать строку от текстового поля до байтов. Как я могу сделать это?

Причина: текст на текстовом поле будет отправлен SMS клиенту, и я ограничил текст 160chars, но если я поместил специальные символы как @ ‰ €£ ¶ ÷ ‰‰ €£, это будет больше, чем 256 байтов (это - размер SMS).

Таким образом, я должен удалить от 256 преобразованный текст к байтам и преобразовать результат в нормальную длину символов.

Пример:

var charsleft = toChars(256 - toBytes(mystring));

Править:
ПРИЧИНА быть на JavaScript: у меня есть строка, говоря что-то вроде этого "XXX оставленных символов"

1
задан cusspvz 12 July 2010 в 10:52
поделиться

2 ответа

Сделайте это на стороне сервера на предпочитаемом вами языке. Сценарий Java / ECMA действительно плохое место для таких операций. Это уже беспорядок с кодировкой символов , так что сделайте себе одолжение и забудьте о проблемах с типами содержимого и прочим. Отправьте строку как UTF8 (например) на свой сервер и выполняйте там работу.

2
ответ дан 2 September 2019 в 23:07
поделиться

Какую систему вы используете для отправки SMS из jQuery? Я подозреваю, что это будет через HTTP-запрос, и в этом случае сервис должен выполнить кодирование за вас. В некоторых случаях есть символы, которые не представлены в наборе символов GSM, а в других случаях символы должны быть представлены как «экранированная пара» байтов.

Документация к службе, которую вы используете, должна содержать информацию о правильном форматировании тела SMS.

Например: http://www.bulksms.com/int/docs/eapi/submission/character_encoding/

Полное раскрытие информации: я работаю в BulkSMS

0
ответ дан 2 September 2019 в 23:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: