Byte-arrays zu base64-string
Sagen, ich habe zwei byte-arrays.
Im ersten Szenario habe ich verketten Sie die beiden Reihen (mit Puffer.BlockCopy), dann konvertieren Sie das Ergebnis in base64-string.
Im zweiten Szenario, die ich konvertieren Sie jedes byte-array base64-string und dann verketten von strings.
Würden sich die beiden Ergebnisse gleich sein?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ergebnis wäre das gleiche, wenn die Länge des ersten Arrays ist durch 3 teilbar, in allen anderen Fällen das Ergebnis der Verkettung von zwei Zeichenketten in base64 wäre anders (und ungültige base64) wegen padding bytes am Ende der ersten Zeichenfolge. Die Länge des zweiten Arrays spielt keine Rolle, für diese operation als Polsterung ist immer am Ende.
Warum "durch 3 teilbar", denn base64-kodiert alle 3 bytes in genau 4 Zeichen-arrays von solcher Länge sein nicht brauchen, Polsterung am Ende. Sehen https://tools.ietf.org/html/rfc4648#section-4 für formale details und https://en.wikipedia.org/wiki/Base64#Padding für mehr lesbar Erklärung.
I. e. wenn der erste array ist 4 bytes lang erhalten Sie
==
am Ende der konvertierten Zeichenkette und Verkettung mit anderen base64-Zeichenfolge wird das Ergebnis in Ungültiger base64-textBeispiel-Fall, wo die Verkettung funktioniert auf die gleiche auf arrays ersten oder auf den Saiten:
Ausgänge: