gzip-Komprimierung im Arbeitsspeicher in Go
English
Deutsch
In Go kannst du die eingebaute gzip-Bibliothek zusammen mit bytes.Buffer verwenden, um ein []byte zu komprimieren und ein []byte mit gzip-komprimierten Daten zu erhalten:
go_gzip_inmemory_snippet.go
content := "Hello World!"
buf := &bytes.Buffer{}
gzWriter := gzip.NewWriter(buf)
gzWriter.Write([]byte(content))
gzWriter.Close()Dieses vollständige Beispiel komprimiert die Daten im Arbeitsspeicher und schreibt sie danach in eine Datei namens text.txt.gz. Beachte, dass du auch direkt in eine Datei gzip-komprimieren kannst und wenn du nichts anderes mit den komprimierten Daten machen musst, kannst du auch unseren vorherigen Beitrag How to write to gzipped file in Go ansehen.
go_gzip_inmemory_main.go
package main
import (
"compress/gzip"
"os"
)
func main() {
content := "Hello World!"
// gzip initialisieren
buf := &bytes.Buffer{}
gzWriter := gzip.NewWriter(buf)
gzWriter.Write([]byte(content))
gzWriter.Close()
// Buffer konvertieren in
ioutil.WriteFile("test.txt.gz", buf.Bytes(), 0644)
}Du kannst zcat test.txt.gz verwenden, um zu sehen, dass der Inhalt korrekt in die Datei geschrieben wurde.
Check out similar posts by category:
Go
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow