テキストやファイルの変換をサポートし、Base64文字列を素早くエンコード/デコード
Base64は、64個の印刷可能なASCII文字を使用してバイナリデータを表現するエンコーディング方式です。これらの文字には大文字・小文字、数字、いくつかの特殊記号が含まれます。Base64は、バイナリデータをテキストのみのチャネルで送信する必要がある場面で広く使用されています。たとえば、電子メールの添付ファイルやURLパラメータなどです。Base64エンコーディング方式は、RFC 4648とMIME仕様(RFC 2045)で元々定義されました。
Base64エンコーディングプロセスは以下のステップに分けることができます:
Base64文字セット: A-Z, a-z, 0-9, +, /
パディング文字: =
変換例:
テキスト「Man」のASCIIコード: 77 97 110
バイナリ表現: 01001101 01100001 01101110
6ビットに再グループ化: 010011 010110 000101 101110
10進値: 19 22 5 46
Base64結果: T W F u
簡略化されたJavaScript実装:
// Base64 encoding implementation example (simplified)
function base64Encode(str) {
// Base64 character set
const base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
let result = '';
let i = 0;
// Process every 3 characters as a group
while (i < str.length) {
const char1 = str.charCodeAt(i++);
const char2 = i < str.length ? str.charCodeAt(i++) : 0;
const char3 = i < str.length ? str.charCodeAt(i++) : 0;
// Convert 3 8-bit bytes into 4 6-bit indices
const triplet = (char1 << 16) + (char2 << 8) + char3;
// Extract 4 6-bit values from the triplet
const index1 = (triplet >> 18) & 0x3F;
const index2 = (triplet >> 12) & 0x3F;
const index3 = (triplet >> 6) & 0x3F;
const index4 = triplet & 0x3F;
// Add padding based on the original data length
if (i - 3 > str.length) {
result += base64chars[index1] + base64chars[index2] + '==';
} else if (i - 2 > str.length) {
result += base64chars[index1] + base64chars[index2] + base64chars[index3] + '=';
} else {
result += base64chars[index1] + base64chars[index2] + base64chars[index3] + base64chars[index4];
}
}
return result;
}
当ツールは16進形式の入力と出力をサポートしており、プログラムコードでバイナリデータを扱う開発者に便利です。
異なる文字セットは、テキストを異なる方法でバイトにエンコードします。当ツールは様々なテキストエンコーディングを処理するために複数の文字セットをサポートしています:
エンコード方式 | 特徴 | 主な用途 |
---|---|---|
Base64 | 64のASCII文字を使用してバイナリデータを表現 | 電子メール添付ファイル、テキストでのバイナリデータ送信 |
URLエンコーディング | 特殊文字を%XX形式に変換 | URLパラメータの受け渡し、フォーム送信 |
16進エンコーディング | 各バイトを2つの16進文字で表現 | ハッシュ値の表現、バイナリデータの可視化 |
Base64についての詳細な公式情報については、次のリソースを参照してください: RFC 4648(Base64標準) | Wikipedia: Base64 | RFC 2045(MIME仕様)