web-dev-qa-db-ja.com

最大SMSメッセージの長さはどれくらいですか?

SMSメッセージがClickatell APIを介して英語とスペイン語のメッセージで送信される場合、最大のメッセージは何ですか?

スペイン語にはUnicode文字が含まれている可能性があるため、英語とスペイン語に違いがあるかどうかはわかりませんか?

13
Adam Silver

SMS wikipedia page から:

メッセージはMAP MO-およびMT-ForwardSM操作で送信されます。そのペイロード長は、シグナリングプロトコルの制約によって正確に140オクテット(140オクテット= 140 * 8ビット= 1120ビット)に制限されています。

加入者がハンドセットで設定したアルファベットに応じて、これは160個の7ビット文字、140個の8ビット文字の個々のショートメッセージの最大サイズになります。 )、または70個の16ビット文字。

あなたの質問に:

スペイン語にはUnicode文字が含まれている可能性があるため、英語とスペイン語に違いがあるかどうかはわかりませんか?

いいえ、英語とスペイン語の両方が 8ビットLatin 1文字セット で完全にカバーされているため、違いはありません。

20
admdrew

SMSでは、複数のSMSメッセージをつなぐことができます(各データの長さは、「結合」データを可能にするために短くなっています)。私は612文字(4 SMSメッセージ)の長さのメッセージを送信した経験があります。メッセージセグメントごとに7文字の削減があります。受信システムでは、パーツが順番どおりに受信されず、すべてのパーツが受信されるとメッセージが意味をなすようになります。 Clickatell APIはこれを許可しますが、APIガイド https://www.clickatell.com/downloads/http/Clickatell_HTTP.pdf は、最大35のメッセージを許可する実用的な最大3つのメッセージを推奨しています(セクションを参照) 4.2.7)。したがって(現時点ではユニコードを無視して)、Clickatell APIを介して35 * 153 = 5355文字のメッセージを送信できます。ユニコード文字(OPではない)を送信する場合、単一メッセージの文字数は70で、連結メッセージの各セグメントの7文字または63 * 35 = 2205ユニコード文字だけ減ります。

7
Don

SMSメッセージには140バイトのデータを含めることができます。ただし、SMSデータはビットストリームとして送信されます。つまり、7ビットASCIIを送信する場合、160文字を送信できます。

6
David C Adams