SMS文字制限:160文字 vs 70文字

SMSメッセージの文字制限が異なる理由(GSM-7で160、Unicodeで70)と、国際テキストでのメッセージ長への影響を学びます。

Platform Limits

詳細な説明

SMSエンコーディング:GSM-7 vs UCS-2

SMSメッセージは2つの異なるエンコーディングを使用し、どちらが必要かによって文字制限が大きく変わります。

GSM-7エンコーディング(160文字)

デフォルトのSMSエンコーディングはGSM 03.38と呼ばれる7ビット文字セットを使用します。SMSセグメントあたり140バイトで、1文字あたり7ビット:140 × 8 / 7 = 160文字

UCS-2エンコーディング(70文字)

GSM-7アルファベットの外にある文字が1つでもあると、メッセージ全体がUCS-2(基本的にUTF-16)に切り替わります。140バイトで1文字あたり2バイト:140 / 2 = 70文字

UCS-2をトリガーする文字:

  • GSM-7以外のアクセント付き文字
  • CJK文字
  • 絵文字
  • アラビア語、ヘブライ語、タイ語、デーヴァナーガリーなど

マルチパートメッセージ

エンコーディング 単一セグメント マルチパートセグメント
GSM-7 160文字 153文字/セグメント
UCS-2 70文字 67文字/セグメント

コストへの影響

それ以外はASCIIテキストに1つの絵文字があるメッセージ:

"Meeting at 3pm tomorrow 👍" (26文字)
  GSM-7では1セグメントだが、絵文字のためUCS-2を使用する必要がある!

実用的なアドバイス

  1. コスト重視のSMS:絵文字と非GSM文字を避ける
  2. 文字カウンター:両方の制限を表示し、UCS-2がトリガーされた際に警告する
  3. 国際対応:日本語、中国語、韓国語、アラビア語テキストは常にUCS-2を使用するため、70文字セグメントで計画する

ユースケース

SMS通知システム、マーケティングプラットフォーム、または2FAコード配信を構築する際、GSM-7 vs UCS-2エンコーディングの切り替えを理解することは、コスト推定、メッセージ分割、およびメッセージが予期せず複数の高コストセグメントに分割されないようにするために不可欠です。

試してみる — String Length Calculator

フルツールを開く