pipipipi.net

pipipipi.net

約5分で読めます

Xの文字数が合わないのはなぜ? — 全角・半角・URL・絵文字のカウント仕様を解説

Xの文字数が合わないのはなぜ? — 全角・半角・URL・絵文字のカウント仕様を解説

「メモ帳では120文字なのに、Xだと投稿できない」「逆に280文字ぎりぎりまで書いたつもりが、まだ余裕があると言われる」——Xに投稿しようとして、表示される残り文字数が自分の感覚とズレて戸惑った経験がある人は多いはずです。

これは入力ミスやツールの不具合ではありません。Xは見た目の文字数をそのまま数えているわけではなく、文字の種類ごとに異なる「重み」を付けてカウントする独自の仕組みを使っています。この記事では、なぜズレが起きるのかを仕組みから説明し、実務で数え違いを避ける確認方法を紹介します。

Xは「文字数」ではなく「ウェイト」を数えている

Xの投稿上限は280ですが、これは単純な文字数ではなく「ウェイト」と呼ばれる重み付きの数値です。文字の種類によって、1文字が消費するウェイトが変わります。

  • 半角英数字・半角記号・半角スペース:1ウェイト
  • 全角文字(日本語のひらがな・カタカナ・漢字、中国語、韓国語などのCJK文字):2ウェイト
  • 絵文字:2ウェイト(構成が複雑な絵文字でも一律2)

つまり同じ「280」という数字でも、英語だけで書けば280文字入るのに対し、日本語だけで書くと実質140文字が上限になります。この重み付けの仕組みはXが公開しているオープンソースライブラリ「twitter-text」で定義されており、Unicodeのコードポイント範囲ごとに重みが割り当てられています。CJK統合漢字・ひらがな・カタカナ・全角記号などが2ウェイト、それ以外の基本的なラテン文字などが1ウェイトという扱いです。

メモ帳やWordの文字数カウントは、こうした重み付けを行わず単純に文字数(またはUnicodeのコードポイント数)を数えるだけなので、Xの表示と食い違うのは仕組み上当然のことです。

URLは長さに関係なく一律23ウェイト

もう一つ、直感とズレやすいのがURLの扱いです。投稿にURLを含めると、Xはそれを自動的に「t.co」という短縮URLに変換します。このとき、元のURLがどれだけ長くても、消費するウェイトは常に23固定です。

たとえば数百文字あるような長いクエリパラメータ付きURLを貼っても、20文字程度の短いURLを貼っても、消費されるウェイトはどちらも23です。逆に言えば、短いURLだからといってウェイトが節約できるわけではありません。この一律換算は、リンク先の安全性チェックやクリック計測をXが挟むための仕組みで、URLの見た目の長さとは切り離されています。

絵文字はどう数えられるか

絵文字は原則として1個につき2ウェイトで固定です。ここで紛らわしいのが、見た目は1つの絵文字でも内部的には複数のUnicode文字(コードポイント)を組み合わせて表現されているケースです。

肌の色を変える修飾子付きの絵文字や、家族を表す絵文字(👨‍👩‍👧‍👦 のような複数人物の組み合わせ)は、内部的にはZWJ(ゼロ幅接合子)という特殊な文字で複数の絵文字コードポイントをつなげて1つの絵文字として表示しています。ZWJ自体はカウントに影響せず、こうした複合絵文字も見た目どおり1個として2ウェイトで数えられます。バラバラに数えられて急にウェイトを圧迫する、ということはありません。

改行・スペースの扱い

改行は1ウェイトとしてカウントされます。半角スペースも1ウェイトです。複数行にわたる投稿を書く場合、改行の数だけウェイトを消費している点は見落としがちなので、行数が多い投稿では意識しておくとよいでしょう。

「メモ帳の文字数と合わない」を実務で確認する方法

原稿をメモ帳やWordで書いてからXに貼り付ける人は多いですが、これらのツールはXのウェイト計算をしていないため、文字数がそのまま参考になりません。実務で数え違いを避けるには、次のような手順が確実です。

  1. 投稿する文章を、実際にXへ貼り付けてリアルタイムのカウント表示で確認する
  2. 下書き段階でウェイトを把握したい場合は、Xと同じ計算ロジック(全角2ウェイト・URL23ウェイト固定・絵文字2ウェイト)に対応したカウントツールを使う
  3. URLを含む場合は、URLの実際の文字数を消してから「23」で計算し直す

もう一つの注意点として、同じ見た目の文字でも入力方法によって内部データが異なる場合があります(合成済み文字と、文字+発音記号を組み合わせた分解形など)。Xはこうした表記ゆれを正規化してから数えるため、コピー元によってわずかにカウントが変わることがある、という点も頭の片隅に置いておくと、原因不明のズレに惑わされずに済みます。

こうした計算をいちいち手計算するのは現実的ではないため、X文字数カウンターで入力しながら残りウェイトを確認するのが最も早い方法です。ブラウザ内で処理されるため、下書きの内容が外部に送信される心配もありません。

まとめ

Xの文字数が「合わない」と感じる主な原因は、単純な文字数ではなく「全角2・半角1・絵文字2・URL一律23」というウェイト計算をしているためです。メモ帳やWordの文字数カウントとはそもそも仕組みが異なるので、投稿前にはXの計算ロジックに対応したツールで確認するのが確実です。

関連記事