UCS-2

ほとんどの絵文字と非ラテン文字に使われる16ビットのSMSエンコーディングです。セグメントあたり70文字、連結時は67文字です。

定義のみです。ここで説明する用語は、当社が販売するサービスではありません。

UCS-2は、ほぼすべての文字体系を文字あたり16ビットでエンコードするため、SMSのセグメントは70文字に減ります。GSM-7のアルファベットにない文字(ほとんどの絵文字と、ほとんどの非ラテン文字)が一文字でもあると、メッセージ全体がUCS-2に切り替わります。

エンコーディングはメッセージ単位で選ばれるため、GSM-7にない文字が一文字あるだけでテキスト全体が変わります。

エンコーディング、単位、セグメント

エンコーディング
UCS-2
文字数
22
コードユニット
23
セグメント
1
サンプルメッセージのエンコーディング、文字数、コード単位でのサイズ、セグメント数。
テキストによる説明

この図は、あるサンプルメッセージについて、選ばれたエンコーディング、文字数、エンコーディング単位でのサイズ、そのサイズに必要なセグメント数を示します。UCS-2の場合、単位は16ビットのコード単位です。

エンコーディングの選ばれ方

SMSはGSM-7から始まります。そのアルファベットにない文字があると、メッセージはUCS-2、またはネットワークが対応する別の符号化方式に移ります。切り替えはメッセージ全体に及ぶため、GSM-7に収まる文字も2バイトを使います。

セグメントには70文字が入ります。140バイトを文字あたり2バイトで割ると70になるためです。補助面の絵文字には2つのUTF-16コード単位が必要で、実際には端末やセンターはUTF-16で送信するため、絵文字の多いテキストでは入る文字数が少なくなります。厳密なUCS-2では、そうした絵文字はまったくエンコードできません。文字数はSMSセグメント計算ツールで確認できます。

よくある質問

UCS-2とUTF-16は同じですか。

近いものの、同一ではありません。UCS-2は固定の16ビット単位を使います。UTF-16は基本面の外の文字にサロゲートペアを使い、実際には端末やセンターはUTF-16で送信します。

UCS-2のセグメントには何文字入りますか。

ユーザーデータヘッダーがない場合は70文字、ある場合は67文字です。補助面の絵文字は2つのUTF-16コード単位を使い、厳密なUCS-2ではエンコードできません。

UCS-2が必要な言語はどれですか。

多くの非ラテン文字と、GSM-7にない文字を含むすべてのテキストです。アクセント付きのラテン文字の中にも、UCS-2が必要なものがあります。

詳しく見る

出典

  1. 3GPP TS 23.038:SMSのアルファベットと言語固有の情報