SMSC と通信し、SMSC と移動局と通信する ESME があると仮定します。テキスト メッセージにエスケープが必要な文字が含まれている場合は、ESC (0x1B) 記号が使用されます。ただし、ESC は GSM アルファベットの制御文字であると考えているため、Latin-1 がエンコードに使用されます。(SMPP v3.4 仕様の 8 ページによると)。さらに、SMSC から移動局への利用可能な符号化が GSM デフォルト アルファベットであると仮定します。ESME によって Latin-1 でエンコードされたエスケープ文字 (ESC) を解釈することは可能でしょうか? 要するに、GSM ESME でテキスト メッセージの文字をエスケープするときに、SMSC またはモバイル ステーションによって誤解される可能性のある奇妙な文字が発生することはありますか?
1576 次
1 に答える
0
使用する必要のあるエンコーディングは、使用する data_coding の値によって大きく異なります。「デフォルトのアルファベット」を意味する data_coding=0 を使用すると仮定すると、SMSC の「デフォルトのアルファベット」がどれであるかによって異なります。
たとえば、文字セットとして Latin1 を実行している SMSC がありますが、GSM のデフォルトのアルファベットの一部ではない文字はエスケープする必要があります。
最初に、SMSC のデフォルトの文字セットを決定する必要があります (SMPP コンポーネントの方が適切です)。0x1b シーケンスは、基本的に Latin1 とは何の関係もありません。SMSC が GSM を実行していて、€ 記号を送信したい場合は、submit_sm 操作の short_message フィールドでバイト シーケンスとして 0x1b0x65 を送信します。
最後に、SMSC が GSM を使用し、ESME が Latin1 を使用している場合、GSM には Latin1 の一部ではないギリシャ文字などがあるため、奇妙な文字が発生する可能性があります。
于 2012-12-14T22:50:36.207 に答える