本文へスキップ
にゃんこツール

バイト数カウント(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

数え方の設定

上限バイト数のチェック

文字コードと上限バイト数を指定すると、上限に収まる範囲と、超過が始まる位置を表示します。

使用バイト数
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のインデックス長(バイト単位)などはバイトで制限されます。仕様を確認し、バイトで制限される場合にこのツールをお使いください。

上限を超える位置はどう確認しますか?

「上限バイト数のチェック」で文字コードと上限を指定すると、上限に収まる部分と超過する部分が分かれて表示され、何文字目から超えるかも示されます。マルチバイト文字の途中では区切らず、その文字を含めると超える場合は手前までを「収まる部分」とします。

入力したテキストは保存・送信されますか?

いいえ。バイト数の計算はすべてブラウザ内で行われ、入力内容がサーバーへ送信されたり保存されたりすることはありません。

このページをシェア

↑↓ 選択 Enter 開く Esc 閉じる