# テキストの文字数のカウント

Messaging APIでは、テキストの文字数は、UTF-16の符号単位(16ビット)でカウントします。一部の漢字やUnicode絵文字など、複数の符号単位で表現する文字は、1文字ではなく、複数の文字としてカウントします。

たとえば、Unicode絵文字の🍎は、2つの符号単位で表現されます。そのため、1文字ではなく、2文字としてカウントします。

また、LINE絵文字を含むテキストの文字数は、テキスト中の絵文字プレースホルダ($)を、使用するLINE絵文字の代替テキスト(LINE絵文字の表示ができない端末向けのテキスト)で差し替えた状態でカウントします。そのため、LINE絵文字を含むテキストメッセージを送信する場合に、テキストの文字数が意図せず最大文字数を超えてしまい、メッセージの送信に失敗することがあります。なお、各LINE絵文字に対応する代替テキストは開示しておりません。

ただし、以下のプロパティは、UTF-16の符号単位ではなく、書記素クラスタ (opens new window)単位でカウントします。

種別 プロパティ
すべてのアクションオブジェクト
  • label
ポストバックアクションオブジェクト
  • displayText
  • fillInText
  • label
  • text
メッセージアクションオブジェクト
  • label
  • text
ボタンテンプレートメッセージ
  • text
  • title
確認テンプレートメッセージ
  • text
カルーセルテンプレートメッセージ
  • text
  • title
リッチメニューオブジェクト
  • chatBarText
  • name