Heim > Backend-Entwicklung > Golang > Warum kodiert „json.Marshal' von Go „[]byte' als Base64-String?

Warum kodiert „json.Marshal' von Go „[]byte' als Base64-String?

Patricia Arquette
Freigeben: 2024-12-10 01:23:10
Original
325 Leute haben es durchsucht

Why Does Go's `json.Marshal` Encode `[]byte` as a Base64 String?

Marshaling von []Byte zu JSON

In Go unterscheidet sich das Marshalling von []Byte zu JSON geringfügig von anderen Datentypen. Anstatt die Bytes direkt als Array zu kodieren, kodiert das JSON-Paket []byte als Base64-kodierte Zeichenfolge. Dieses Verhalten wird in der Dokumentation für „encoding/json“ explizit angegeben:

Array and slice values encode as JSON arrays, except that []byte encodes as a base64-encoded string, and a nil slice encodes as the null JSON object.
Nach dem Login kopieren

Base64-Encoded String Output

In Ihrem Fall ist die Ausgabe von json.Marshal( Gruppe) enthält „AAAAAQID“. Dies stellt die Base64-Codierung Ihres []Byte-Slices dar:

originalBytes := []byte{0, 0, 0, 1, 2, 3}
encodedString := base64.StdEncoding.EncodeToString(originalBytes)

fmt.Println(encodedString) // Output: AAAAAQID
Nach dem Login kopieren

Base64-Daten dekodieren

Um die ursprünglichen []Byte-Werte aus der codierten Zeichenfolge abzurufen, müssen Sie kann die Base64-Daten dekodieren:

decodedBytes, err := base64.StdEncoding.DecodeString("AAAAAQID")
if err != nil {
    // Handle error
}

fmt.Println(decodedBytes) // Output: [0 0 0 1 2 3]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum kodiert „json.Marshal' von Go „[]byte' als Base64-String?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage