Heim  >  Artikel  >  Backend-Entwicklung  >  C# Base64-Kodierungsfunktion

C# Base64-Kodierungsfunktion

黄舟
黄舟Original
2016-12-22 13:55:122074Durchsuche

1. Base64-Kodierungsregeln
Die Idee der Base64-Kodierung besteht darin, 64 grundlegende ASCII-Codezeichen zu verwenden, um die Daten neu zu kodieren. Es teilt die Daten, die codiert werden müssen, in ein Byte-Array auf. In Gruppen von 3 Bytes. Ordnen Sie die 24-Bit-Daten der Reihe nach an und teilen Sie die 24-Bit-Daten dann in 4 Gruppen auf, dh 6 Bits in jeder Gruppe. Fügen Sie dann vor dem höchsten Bit jeder Gruppe zwei Nullen hinzu, um ein Byte zu erhalten. Dadurch wird eine 3-Byte-Datengruppe in 4 Bytes umcodiert. Wenn die Anzahl der zu kodierenden Datenbytes kein ganzzahliges Vielfaches von 3 ist, dh die letzte Gruppe reicht beim Gruppieren nicht aus. Zu diesem Zeitpunkt werden 1 bis 2 0 Bytes in der letzten Gruppe gefüllt. Und fügen Sie am Ende 1 bis 2 „=“ hinzu, nachdem die endgültige Codierung abgeschlossen ist.

Beispiel: BASE64-Kodierung von ABC:
1 Holen Sie sich zuerst den ASCII-Codewert, der ABC entspricht. A (65) B (66) C (67); Nehmen Sie dann den Binärwert A (01000010) C (01000011); Verbinden Sie es miteinander (010000010100001001000011); teilen Sie es in 4 Datenblöcke in Einheiten von 6 Bits auf und füllen Sie das höchste Bit mit zwei Nullen, um einen 4-Byte-codierten Wert zu bilden, (00010000) (00010100) (00001001). (00000011), der blaue Teil sind die realen Daten;
5. Konvertieren Sie dann diese vier Datenbytes in Dezimalzahlen, um (16) (20) (9) (3) zu erhalten Finden Sie in den 64 grundlegenden Zeichentabellen von BASE64 die entsprechenden ASCII-Codezeichen (Q) (U) (J) (D). Der Wert hier ist tatsächlich der Index der Daten in der Zeichentabelle.

Hinweis: BASE64-Zeichentabelle: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

2. Dekodierungsregeln
Der Dekodierungsprozess besteht darin, 4 Bytes in 3 Bytes wiederherzustellen und die Wörter dann gemäß verschiedenen Datenformen umzuwandeln Das Array wird in Daten umgeordnet.

3. Implementierung in C#


Das Obige ist der Inhalt der C# Base64-Codierungsfunktion. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php. cn)!

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();


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn