ホームページ >よくある問題 >Base64エンコードの原理は何ですか?

Base64エンコードの原理は何ですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-07-01 15:00:013939ブラウズ

base64 エンコーディングの原則は、8 ビットのサブセクション シーケンスを 6 ビットのフラグメントに分解し、各 6 ビットのフラグメントに文字を割り当てることです。これらの 64 文字は、小文字 [a ~ z] と大文字 [A ~ Z] です。 ] ]、数字[0~9]、記号[ ]、[/]。

Base64エンコードの原理は何ですか?

base64 エンコードの原理は次のとおりです。

Base64 エンコードは、8 ビットのサブセクション シーケンスを 6 ビットに逆アセンブルします。フラグメント。各 6 ビット フラグメントに文字を割り当てます。これらの 64 文字は、小文字の a ~ z、大文字の A ~ Z、数字 0 ~ 9、記号「 」、「/」です。64 の意味については、ここを参照してください。 64 文字。実際にはパッド「=」があり、実際には 65 文字です。

Base64 ルールは次のとおりです。

最初のステップは、3 バイトごとを 1 つのグループ (合計 24 バイナリ ビット) として扱うことです。

2 番目のステップは、これらの 24 バイナリ ビットを 4 つのグループに分割することです。各グループには 6 つのバイナリ ビットがあります。

3 番目のステップでは、各グループの前に 2 つの 00 を追加して、2 進数 32 桁、つまり 4 バイトに拡張します。したがって、base64 でエンコードされた文字列は、元の文字列より約 33% 大きくなります。

英語の単語 Man がどのように Base64 エンコードに変換されるかを示す具体的な例を挙げてください。 。

Base64エンコードの原理は何ですか?

最初のステップでは、「M」、「a」、「n」の ASCII 値はそれぞれ 77、97、110 です。対応するバイナリ値は 01001101 、 01100001、 01101110 であり、これらを 24 ビットのバイナリ文字列 010011010110000101101110 に連結します。

2 番目のステップでは、この 24 ビットのバイナリ文字列を 4 つのグループに分割します。各グループには 6 つのバイナリ数字があります: 010011、010110、000101、101110。

3 番目のステップでは、各グループの前に 2 つの 00 を追加して、32 の 2 進数、つまり 4 バイト (00010011、00010110、00000101、00101110) に拡張します。それらの 10 進数値はそれぞれ 19、22、5、および 46 です。

4 番目のステップでは、以下の図に従って、各値 (T、W、F、u) に対応する Base64 エンコーディングを取得します。

したがって、Man の Base64 エンコーディングは TWFu です。

Base64エンコードの原理は何ですか?

以上がBase64エンコードの原理は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。