Ist Base64 standardisiert?

8

In der Firma, in der ich arbeite, haben wir eine Klasse, die in und aus der Base64-Zeichenkette konvertiert werden kann. Als ich den Code zum ersten Mal gesehen habe, fragte ich, warum ich nicht den Convert.ToBase64String verwende, der mit .NET geliefert wird?

Dann habe ich den Methodenkörper so geändert, dass er Convert.ToBase64String aufruft, aber er erzeugt nicht die gleiche Zeichenkette.

Ich habe versucht, ASCII, UTF8, Unicode und UTF32 zu verwenden.

Ich erinnere mich nicht genau, aber ich denke, dass ASCII eine Zeichenfolge mit der gleichen Länge erzeugt, aber einige Zeichen anders sind, und andere Encoding erzeugt größere Zeichenfolgen.

Vielleicht war unsere Implementierung falsch, aber ich habe eine JavaScript-Implementierung gefunden, die unserer entspricht.

Ist Base64 nicht tragbar?

Bearbeiten: Ich habe das bei Wikipedia gefunden, aber ich weiß nicht, ob es die Ursache war Ссылка

Edit2 : Ich habe Codierungen erwähnt, weil wir eine Zeichenfolge in eine andere konvertieren. Dann muss ich zuerst meine ursprüngliche Zeichenfolge in ein Byte-Array konvertieren, indem ich eine Kodierung verwende

    
Felipe Fujiy Pessoto 30.01.2012, 10:10
quelle

2 Antworten

3

Es gibt mindestens 10 verschiedene Implementierungen. Sie unterscheiden sich meistens durch das Char für Index 62 und 63.

Ссылка

    
Kolja 30.01.2012, 10:17
quelle
10

RFC 3548. Nein, warte! Es gibt einen neueren: RFC 4648 . (Danke dtb!)

Übrigens, Sie scheinen base64 zu mischen, was jeden binären Stream in einen ASCII-Stream und Zeichencodierungen verwandelt, die völlig unterschiedliche Konzepte sind. Vielleicht möchten Sie diesen Einführungsartikel über Kodierungen lesen.

    
Serge Wautier 30.01.2012 10:13
quelle

Tags und Links