バイト数カウント(UTF-8・Shift_JIS・UTF-16)
文字列を入力すると、UTF-8・Shift_JIS・UTF-16で保存したときのバイト数をリアルタイムで表示します。DBカラムのバイト長、APIの文字列上限、SMSの長さ制限などの確認にご利用ください。上限バイト数を指定すると、どの文字から超過するかも確認できます。文字数や単語数は文字数カウント、文字コードの変換は文字コード変換をご利用ください。入力した内容はブラウザ内で処理され、サーバーに送信されることはありません。
🔒 ブラウザ内で完結・入力データはサーバーに送信されません
- UTF-8
- 0バイト
- Shift_JIS
- 0バイト
- UTF-16
- 0バイト
- 文字数
- 0
Shift_JISで表現できない文字(「?」1バイトとして計算):
数え方の設定
上限バイト数のチェック
文字コードと上限バイト数を指定すると、上限に収まる範囲と、超過が始まる位置を表示します。
- 使用バイト数
- 0
- 残り
- 255
上限に収まっています。
収まる部分
超過する部分
注意事項
- UTF-8は1文字を1〜4バイト(ASCIIは1、ひらがな・漢字は3、絵文字は4)、UTF-16は2または4バイトで数えます。BOMを含めるかどうかは設定で切り替えられます。
- Shift_JISは半角英数字・半角カナを1バイト、全角文字を2バイトで数えます。Shift_JISで表現できない文字(絵文字や一部の記号・外字など)は、実際の変換と同様に「?」(1バイト)に置き換わるものとして数え、一覧に表示します。
- Shift_JISはWindows由来のCP932(Microsoft拡張)に近い対応表で数えます。DBやシステムによっては異なる変換になり、バイト数が変わる場合があります。
- UTF-16はBOMなしで、文字数に関わらず2バイトまたは4バイト(サロゲートペア)で数えます。LE/BEでバイト数は変わりません。
- 文字数は見た目の文字ではなくUnicodeのコードポイント単位で数えます。組み合わせ絵文字などは複数文字として数えられます。
- 改行はテキスト欄ではLFで入力されます。ファイルやAPIでCRLFが使われる場合は、設定で「CRLFに統一」を選ぶと改行が2バイトとして数えられます。
- MySQLのVARCHAR(n)のようにバイトではなく文字数で制限する環境もあります。上限がバイトか文字かを、利用するシステムの仕様で確認してください。
よくある質問
日本語1文字は何バイトですか?
UTF-8ではひらがな・カタカナ・漢字・全角記号は3バイト、半角英数字は1バイト、絵文字は4バイトです。Shift_JISでは全角文字が2バイト、半角英数字と半角カナが1バイトです。UTF-16ではほとんどの文字が2バイト、絵文字などは4バイトです。
Shift_JISで表現できない文字(絵文字など)はどう数えられますか?
Shift_JISに存在しない文字は、実際に変換すると「?」などに置き換わる(または変換エラーになる)ため、このツールでは「?」1バイトとして数え、該当する文字を一覧に表示します。保存前に文字を置き換えるか、UTF-8を使うかご検討ください。
DBのVARCHAR(255)など、文字数で制限される場合はどうなりますか?
MySQLのVARCHAR(n)やPostgreSQLのvarchar(n)は文字数で制限されるため、バイト数は関係しません。一方、Oracleのバイト指定の列や、MySQLのインデックス長(バイト単位)などはバイトで制限されます。仕様を確認し、バイトで制限される場合にこのツールをお使いください。
上限を超える位置はどう確認しますか?
「上限バイト数のチェック」で文字コードと上限を指定すると、上限に収まる部分と超過する部分が分かれて表示され、何文字目から超えるかも示されます。マルチバイト文字の途中では区切らず、その文字を含めると超える場合は手前までを「収まる部分」とします。
入力したテキストは保存・送信されますか?
いいえ。バイト数の計算はすべてブラウザ内で行われ、入力内容がサーバーへ送信されたり保存されたりすることはありません。
このページをシェア
