文字幅の計算
テキスト処理はすべてブラウザ内で完結します。データは送信されません
「このテキストはどれくらい長いか」には 4 つの答えがあり、しばしば数倍の差が出ます。本ツールは 4 つとも表示します。表示幅(画面上の桁数、漢字は 2)・コードポイント数(何文字か)・UTF-16 符号単位数(JavaScript の `.length`)・UTF-8 バイト数(ファイルに入るバイト数)です。 絵文字が違いをよく示します。`😀` はコードポイント 1、UTF-16 符号単位 2、UTF-8 バイト 4 です。だから「20 文字制限」がどの口径かは、4 つを示して初めて明らかになります。表示幅はサイト内の端末折り返しと同じ実装を使うため、他とずれません。 80・100 桁を超える行(コードやコミットでよくある上限)も個別に一覧にします。計算はすべてブラウザ内で完結し、通信もアップロードもありません。
機能
- 4 つの口径を一度に表示:表示幅・コードポイント数・UTF-16 符号単位数・UTF-8 バイト数
- 表示幅は東アジアの幅で計算。漢字は 2 桁、ASCII は 1 桁
- 80 桁・100 桁を超える行と、その実際の幅を一覧表示
- 文字ごとの幅の内訳を表示でき、どの文字が行を広げたか分かる
- 端末の折り返しと同じ幅の実装を使い、分岐しない
- コードポイント単位で、絵文字や結合文字が壊れない
- 各値を個別にコピー可能
使い方
- テキストを貼り付けます(複数行可)
- 4 つの数値と長すぎる行の一覧がすぐに表示されます
- 詳しく見たいときは「文字ごとの幅」をオンにします
- 行末のコピーボタンで個別の値を取り出せます
よくある質問
- 「20 文字制限」はどの口径ですか?
- 相手の計算方法によります。フォームはコードポイント、データベースは UTF-16 符号単位、API や保存はバイト数のことが多いです。4 つ表示するので相手の規則と照合できます。
- なぜ 1 つの絵文字に 3 つの長さがあるのですか?
- コードポイントは 1(1 文字)、UTF-16 では 2 符号単位(サロゲートペア)、UTF-8 では 4 バイトです。バグではなく、数え方の口径が異なるためです。
- 表示幅はどう計算しますか?
- 東アジアの文字幅によります。漢字・かな・全角記号は 2 桁、ASCII と半角は 1 桁、絵文字も 2 桁です。サイト内の端末折り返しと同じ実装を使い、整合性を保ちます。
- データは送信されますか?
- いいえ。すべてブラウザのメモリ内で計算し、通信も記録もありません。オフラインでも使えます。
関連ツール
文字数カウント
テキスト英語は単語数、日本語や中国語は字数で別々に数えます。文字数・行数・バイト数・読了時間も同時に出し、すべてブラウザ内で処理するので送信しません。
出現回数の集計
テキスト文字・語・行・指定した文字列がそれぞれ何回現れるかを集計し、回数順と割合で表示します。空白や改行には記号を付けます。
行の長さで絞り込み
テキスト文字数・UTF-8 バイト数・表示幅(CJK は 2 幅)で各行を絞り込みます。範囲内の行を残すか削除するかを選べます。
テキスト差分
テキスト2つのテキストを行ごとに比較し、追加・削除・未変更の行をハイライト表示します。変更は最小差分で整列し、すべてブラウザ内で処理します。
テキスト整形
テキストログや表からコピーした1列を整形します。重複行の削除、並べ替え、空行・前後の空白・行番号の削除、空白のまとめを個別に切り替えできます。
命名規則の変換
テキスト14 の命名規則の間で識別子を変換します。fooBarBaz や FOO_BAR のような混在も語に分解し、連続する大文字も語ごとに切ります。