ホームページ  >  記事  >  バックエンド開発  >  C# Base64エンコード関数

C# Base64エンコード関数

黄舟
黄舟オリジナル
2016-12-22 13:55:122018ブラウズ

1. Base64 エンコード ルール
Base64 エンコードの考え方は、64 個の基本的な ASCII 文字を使用してデータを再エンコードすることです。エンコードする必要があるデータをバイト配列に分割します。 3 バイトのグループ。 24 ビットのデータを順番に並べて、24 ビットのデータを 6 ビットずつ 4 つのグループに分割します。次に、各グループの最上位ビットの前に 2 つの 0 を追加して 1 バイトを構成します。これにより、3 バイトのデータ グループが 4 バイトに再エンコードされます。エンコードするデータのバイト数が3の整数倍ではない場合、つまりグループ化する際に最後のグループが3バイト足りない場合。このとき、最後のグループには 0 バイトが 1 ~ 2 バイト埋め込まれます。そして、最終的なエンコードが完了したら最後に「=」を1~2個追加します。

例: ABC の BASE64 エンコード:
1. まず、ABC に対応する ASCII コード値を取得します。 A (65) B (66) C (67);
2. 次に、これらの 3 つのバイトのバイナリ値を結合します (01000001)。
4. 次に、6 ビット単位で 4 つのデータ ブロックに分割し、最上位ビットを 2 つの 0 で埋めて、4 バイトのエンコード値 (00010000) (00010100) (00001001) (00000011) を形成します。青い部分は実データ;
5. 次に、これらの 4 バイトのデータを 10 進数に変換して、(16) (20) (9) (3) を取得します。 最後に、BASE64 Basic 文字テーブルで指定された 64 を見つけます。コード文字 (Q) (U) (J) (D)。ここでの値は実際には文字テーブル内のデータのインデックスです。

注: BASE64 文字テーブル: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

2. デコード ルール
デコード プロセスでは、4 バイトを 3 バイトに復元し、さまざまなデータ形式に従ってバイト配列をデータに再配置します。

3. C# での実装

byte[] bytes = Encoding.Default.GetBytes("helloworld"); 
string str = Convert.ToBase64String(bytes); 
Console.WriteLine(str); 
Console.ReadLine(); 
//base 64 decode 
bytes = Convert.FromBase64String(str); 
Console.WriteLine(Encoding.Default.GetString(bytes)); 
Console.ReadLine();

上記は C# Base64 エンコード関数の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) を参照してください。


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