devtools-hub

String Inspector

文字列を1文字ずつ分解 — Unicodeコードポイント・UTF-8バイト数・文字種を可視化

文字列Unicodeエンコーディング開発者向け

入力した文字列を1文字ずつ分解して、各文字のUnicodeコードポイント(U+XXXX)・UTF-8バイト数・文字種カテゴリ(ASCII英字/数字/記号・CJK・絵文字・空白)を色分け表示。文字列全体の総文字数・バイト数・ユニーク文字数を統計として表示。絵文字のサロゲートペア・複合文字も正しく1グリフとして処理します。エンコーディング問題のデバッグやグリフ調査に。

広告

String Inspector

18

総文字数

27

UTF-8 バイト数

16

ユニーク文字数

文字種別内訳 — 凡例

ASCII英字× 8
ASCII数字× 3
ASCII記号× 1
空白× 2
CJK× 2
絵文字× 1
その他× 1

文字グリッド

char / U+ / bytes18 文字
HU+00481B
eU+00651B
lU+006C1B
lU+006C1B
oU+006F1B
,U+002C1B
·U+00201B
U+4E163B
U+754C3B
U+FF013B
🌏U+1F30F4B
·U+00201B
aU+00611B
bU+00621B
cU+00631B
1U+00311B
2U+00321B
3U+00331B

Features

  • 各文字のUnicodeコードポイント(U+XXXX形式)・UTF-8バイト数を表示
  • 文字種カテゴリ(ASCII英字/数字/記号・CJK・絵文字・空白・その他)を色分け
  • 総文字数・UTF-8総バイト数・ユニーク文字数を統計表示
  • 絵文字のサロゲートペア・複合絵文字を正しく1グリフとして処理
  • カテゴリ別の文字数内訳を凡例で表示
  • グリッド形式で文字を並べて一覧確認

Desktop App

デスクトップ版を入手する

Windows 向けアプリ版はすべての機能をフルで使えます。BOOTH で配布中。

BOOTH で見る
広告

Unicode・UTF-8エンコーディングの基礎知識

プログラミングで文字列を扱う際、Unicodeコードポイントとエンコーディング(UTF-8/UTF-16)の違いを理解することは重要です。String Inspectorは文字列を分解して各文字のコードポイントとバイト数を可視化します。

UnicodeコードポイントとUTF-8の違い

Unicodeはすべての文字に一意の番号(コードポイント)を割り当てる規格です。例えばAはU+0041、「日」はU+65E5です。UTF-8はこのコードポイントをバイト列として表現するエンコーディング方式で、ASCII文字(U+0000〜U+007F)は1バイト、日本語などは3バイト、絵文字は4バイトで表現します。

絵文字とサロゲートペアの注意点

現代の絵文字(U+1F000以上)はUTF-16では2つのコード単位(サロゲートペア)で表現されるため、JavaScriptの`length`プロパティが実際の文字数と異なることがあります。例えば🌏は`"🌏".length === 2`です。ES2015以降は`[...str].length`や`for...of`で正確な文字数が取れます。

バイト数が重要な場面

データベースの文字列カラム(VARCHAR(255) = 255バイトか255文字かはDB設定による)・HTTPヘッダーのContent-Length・ファイルシステムのファイル名上限(多くのOSで255バイト)などではバイト数が重要です。UTF-8では1文字が1〜4バイトになるため、「255文字まで」なのか「255バイトまで」なのかを意識する必要があります。

CJK文字の扱い

CJK(Chinese, Japanese, Korean)の漢字・仮名・ハングルはUTF-8で3バイトです。Twitterの文字数カウントなどは独自のカウント方法(CJKを2文字分とカウント)を使うサービスもあります。バックエンドのバリデーションとフロントエンドの表示で文字数の定義が違うとバグの原因になります。

Related Tools

base64-studio

Base64 エンコード & デコード

開発者向けテキストエンコード

使ってみる →

BOOTH

JSON Studio

JSON フォーマッター & バリデーター

JSON開発者向けフォーマッター

使ってみる →

BOOTH

color-deck

カラーコード変換 & パレット保存

カラーデザイン開発者向け

使ってみる →

BOOTH

このツールを共有する