亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go 中的透明(類似過濾器)gzip/gunzip

Go 中的透明(類似過濾器)gzip/gunzip

Go
鳳凰求蠱 2021-07-03 14:00:48
我正在嘗試,只是為了好玩,將 gzip Writer 直接連接到 gzip Reader,這樣我就可以寫入 Writer 并從 Reader 動態讀取。我希望能準確地閱讀我寫的內容。我正在使用 gzip,但我也想將這種方法與加密/aes 一起使用,我想它的工作方式應該非常相似,并且可以與其他讀取器/寫入器一起使用,例如 jpeg、png ......這是我最好的選擇,這是行不通的,但我希望你能明白我的意思:http : //play.golang.org/p/7qdUi9wwG7package mainimport (    "bytes"    "compress/gzip"    "fmt")func main() {    s := []byte("Hello world!")    fmt.Printf("%s\n", s)    var b bytes.Buffer    gz := gzip.NewWriter(&b)    ungz, err := gzip.NewReader(&b)    fmt.Println("err: ", err)    gz.Write(s)    gz.Flush()    uncomp := make([]byte, 100)    n, err2 := ungz.Read(uncomp)    fmt.Println("err2: ", err2)    fmt.Println("n: ", n)    uncomp = uncomp[:n]    fmt.Printf("%s\n", uncomp)}似乎gzip.NewReader(&b)正在嘗試立即讀取并返回 EOF。
查看完整描述

2 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

使用管道。例如,

包io

功能管道

func Pipe() (*PipeReader, *PipeWriter)

Pipe創建一個同步的內存管道。它可用于將需要 io.Reader 的代碼與需要 io.Writer 的代碼連接起來。一端的讀取與另一端的寫入匹配,直接在兩者之間復制數據;沒有內部緩沖。并行調用 Read 和 Write 或使用 Close 是安全的。一旦掛起的 I/O 完成,關閉將完成。對 Read 的并行調用和對 Write 的并行調用也是安全的:各個調用將按順序進行門控。


查看完整回答
反對 回復 2021-07-12
  • 2 回答
  • 0 關注
  • 237 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號