文字・テキスト

文字数の数え方が違う理由:コードポイント・書記素・バイト

同じ文章でもツールによって文字数が変わるのは、コードポイント・書記素クラスタ・バイト数のどれで数えているかが違うためです。SNS や応募書類でどの基準を見るべきかを整理します。

3 つの「文字数」

「文字数」と一口に言っても、コンピュータ上では少なくとも 3 つの数え方があります。

基準 「𠮷野家🍣」の文字数 主な用途
バイト数 (UTF-8) 13 データベースの容量、通信量
コードポイント 5 多くの文字数カウンター、X の文字数判定の基礎
書記素クラスタ 4 人が見て「1 文字」と感じる単位

「𠮷」は UTF-16 で 2 つのコード単位 (サロゲートペア) に分かれるため、JavaScript の "𠮷".length は 2 を返します。一方 Array.from("𠮷").length は 1 です。結果が食い違うカウンターは、この length をそのまま使っていることが多いです。

書記素クラスタとは

絵文字の肌の色や国旗、結合文字 (「か」+「゛」で「が」を表す形) は、複数のコードポイントで 1 つの見た目を作ります。この見た目の単位を書記素クラスタと呼び、Intl.Segmenter で数えられます。人が原稿用紙に書くときの感覚に最も近いのはこの数え方です。

どの基準を見ればよいか

自分で確かめる

文字数カウントはコードポイント単位で数え、空白・改行の除外を切り替えられます。絵文字や旧字体を含む文章で、length ベースのカウンターとの差を試してみてください。

参考: Unicode Standard Annex #29 “Unicode Text Segmentation” (https://unicode.org/reports/tr29/)

関連ツール

公開: 2026-09-19