テキスト / エンコード

バイトカウンター(UTF-8、UTF-16、SMS)

テキストのUTF-8とUTF-16でのバイト数、コードポイント数、表示上の文字数、必要なSMSの分割数を確認し、文字を途中で分断せずバイト数の上限内に収まるようカットできます。

バイトカウンター(UTF-8、UTF-16、SMS): 長さの測り方はシステムによって異なります。Webページやほとんどのデータベースで使われるUTF-8では、ASCIIは1バイト、アクセント付きの文字とギリシャ文字やキリル文字の多くは2バイト、中国語・日本語・韓国語は3バイト、絵文字は4バイトを使います。JavaScriptはUTF-16コード単位、Pythonはコードポイントで数え、人が見る単位は書記素クラスタです。そのため、肌の色を含む絵文字は読み手には1文字に見えても、2つのコードポイントと8バイトのUTF-8として数えられます。SMSは、GSMアルファベットの文字だけなら160文字、その他の文字が1つでも含まれる場合は70文字まで収まります。 サーバーへのファイルアップロードは一切なく、100%ブラウザ内でローカル実行します。

実行回数
ブラウザ内で
コスト
無料 · 登録不要
提供状況
すぐに使えます
バイトカウンターローカル処理

完全にブラウザ内で実行します

UTF-8バイト数24ウェブページ、ファイル、ほとんどのデータベース
UTF-16バイト数26JavaScript、Java、Windows
表示される文字数10書記素クラスタ
コードポイント11Pythonのlen()が数えるもの
JavaScriptの長さ13UTF-16コード単位
単語と行3 · 1
SMSパート数1UCS-2 · 1パートあたり70のうち13

これらの文字はGSMアルファベットに含まれないため、メッセージ全体がUCS-2で送信され、1パートあたり70文字になります:👍 🏽 日 本 語

絵文字などの4バイト文字が含まれています。MySQLで保存するにはutf8mb4文字セットが必要です。古いutf8(utf8mb3)文字セットでは保存できません。

バイト単位で測定される制限

多くの制限は文字数ではなくバイト数で数えられます。データベースの列やインデックスキー、HTTPヘッダーやCookie(1個あたり約4 KB)、ファイル名(ほとんどのファイルシステムで255バイト)、決済やメッセージングのAPIなどが該当します。英語の文字255文字が収まる制限でも、中国語は85文字、絵文字は63個しか収まらないことがあります。

SNSの投稿など、文字数で数える制限には文字数カウンターを、ファイルのエンコード形式を確認するにはテキストエンコーディング検出ツールをお使いください。

SMSを短く保つ

スマートクォートやアポストロフィを半角の引用符に、ダッシュをハイフンに置き換え、絵文字を避けると、メッセージがGSM文字セットに収まり、1つのメッセージあたり70文字ではなく160文字まで収められます。追加された1つのメッセージ部分は、通常、別のメッセージとして課金されます。

使い方

  1. テキストを入力または貼り付けます。
  2. バイト数、文字数、SMSの分割数を確認します。
  3. バイト数の上限を入力すると、テキストが収まるかどうかを確認し、安全にカットしたテキストを取得できます。

プライバシーと制限事項

テキストはお使いのブラウザ内で測定され、アップロードされることはありません。

関連ツール

よくある質問

データベースでは、なぜテキストが長すぎると表示されるのですか?

カラムの上限は文字数ではなくバイト数で数えられる場合があります。MySQLのインデックスプレフィックスや多くの古いシステムはバイト数を使うため、中国語の255文字はUTF-8で765バイト必要です。

絵文字を1つ送るだけで、SMSがUnicodeになるのはなぜですか?

SMSは、すべての文字が7ビットのGSMアルファベットに含まれている場合にその形式を使います。絵文字やスマートクォートなど、含まれていない文字が1つでもあると、メッセージ全体がUCS-2に切り替わります。その場合、1つの分割に収まるのは160文字ではなく70文字です。

長いSMSはどのように分割されますか?

GSMでは153文字、UCS-2では67単位ごとに分割されます。携帯電話で結合するためのヘッダーが各分割に含まれるためです。また、€や[ ]など一部の文字はGSMでは2文字分として数えられます。

無料ツール · ブラウザ内で · アカウント不要