1

文字列をテキストフィールドからバイトに変換する必要があります。どうやってやるの?

理由:テキストボックスのテキストはSMSでクライアントに送信され、テキストを160文字に制限しましたが、@€£‰¶÷‰‰€£@のような特別な文字を入力すると256文字より大きくなりますバイト(これはSMSのサイズです)。

したがって、256から変換されたテキストをバイトに削除し、結果を通常の文字の長さに変換する必要があります。

例:

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

編集:
Javascriptを使用する理由:この「XXX文字が残っています」のような行があります

4

2 に答える 2

2

お好みの言語でサーバー側で実行してください。Java/ECMA スクリプトは、このような操作には適していません。それはすでに混乱してcharacter encodingいるので、自分で好きなことをして、面倒なことをスキップしてくださいcontent-types。文字列をUTF8(たとえば)としてサーバーに送信し、そこで作業を行います。

于 2010-07-12T10:40:04.850 に答える
0

jQuery から SMS を送信するためにどのシステムを使用していますか? HTTP リクエスト経由であると思われます。その場合、サービスがエンコードを行う必要があります。場合によっては、GSM 文字セットで表現されない文字があり、文字を「エスケープされたペア」のバイトとして表現する必要がある場合もあります。

使用しているサービスのドキュメントで、SMS 本文の正しい形式を知ることができます。

例: http://www.bulksms.com/int/docs/eapi/submission/character_encoding/

完全な開示:私はBulkSMSで働いています

于 2010-07-12T10:42:21.553 に答える