文字とエンコード
基本の仕組み
Unicode は文字に番号を割り当て、UTF-8・UTF-16・UTF-32 はその番号をバイト列で表します。é は U+00E9、UTF-8 では C3 A9 です。Base64 はバイトを印字可能な文字で表します。
LE と BE はバイト順です。先頭の BOM は U+FEFF という署名で、デコード時も文字として保持します。
できること
文字列・バイト・コードポイント・Unicode エスケープ・JSON 文字列を相互変換します。Base64 は UTF-8、HTML は HTML5 の規則です。URL はコンポーネント単位で、+ を空白に変えません。Data URI は text/plain UTF-8 のみです。 プレーンテキストを読み、符号化後16KiBまでです。ASCIIは7ビット、UTF-8は8ビット。結果は16進数と実バイト.binで、厳密に復号します。不正UTF-8を置換しません。マスクはビット幅以内で、暗号化ではありません。
使い方
- 入力と出力の形式を選び、バイトや接頭辞なしコードポイントの基数を設定します。
- 貼り付けるか UTF-8 ファイルを開きます。バイナリは生バイトと実際の UTF 形式を選んでください。
- 変換し、確認してコピー・保存します。バイト保存は実際のバイト列です。形式を入れ替えると往復を確認できます。
- プレーンテキストを読み、符号化後16KiBまでです。ASCIIは7ビット、UTF-8は8ビット。結果は16進数と実バイト.binで、厳密に復号します。不正UTF-8を置換しません。マスクはビット幅以内で、暗号化ではありません。
エラーと制限
不正な UTF-8、不完全な単位、対になっていないサロゲートはエラーになります。位置は 0 始まりで、バイトエラーは復号後のバイト列内を指します。
数値は空白・カンマ・セミコロンで区切ります。区切りなしバイトは固定幅です。入力は 200,000 UTF-16 単位、出力は 2,000,000 文字、生バイトファイルは 16 KiB が上限です。
プレーンテキストを読み、符号化後16KiBまでです。ASCIIは7ビット、UTF-8は8ビット。結果は16進数と実バイト.binで、厳密に復号します。不正UTF-8を置換しません。マスクはビット幅以内で、暗号化ではありません。
よくある質問
Base64 は暗号ですか?
いいえ。値を知る人は誰でも元に戻せます。
コードポイントと UTF-8 の値が違う理由は?
コードポイントは文字の番号、UTF-8 は 1〜4 バイトの表現です。😀 は U+1F600、UTF-8 は F0 9F 98 80 です。