第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用 Docker 的 Go SDK 時(shí)輸出中的雜散字符

使用 Docker 的 Go SDK 時(shí)輸出中的雜散字符

Go
GCT1015 2022-09-05 17:32:21
我正在嘗試將通過Go運(yùn)行Docker映像后獲得的(接口)轉(zhuǎn)換為進(jìn)一步使用。io.ReadCloserdocker-sdk[]byte當(dāng)我從使用到讀取時(shí),它可以完美地打印數(shù)據(jù)。io.ReadCloserstdcopy.StdCopystdout代碼打?。簊tdcopy.StdCopy(os.Stderr, os.Stdout, out)Content-Type: text/html<html><head><title>HTML response</title></head><body><h1>Hello, Goodbye</h1></body></html>由于我需要將此整個(gè)內(nèi)容作為響應(yīng)發(fā)送,因此我需要將內(nèi)容轉(zhuǎn)換為 或 。但是,一旦我將 轉(zhuǎn)換為或使用任何方法但是,它就會(huì)在某些行中添加一個(gè)特殊字符。[]bytestringio.ReadCloser[]bytestringstdcopy.StdCopy我用來閱讀的片段使用:outbuf*bytes.Buffer.ReadFrom    buf := new(bytes.Buffer)    buf.ReadFrom(out)    fmt.Println(buf.String())指紋:Content-Type: text/html<html>*<head><title>HTML response</title></head>%<body><h1>Hello, Goodbye</h1></body></html>如您所見,額外的字符如和正在添加。我也嘗試過功能,沒有運(yùn)氣。任何建議將不勝感激。*%ioutil.ReadAll
查看完整描述

1 回答

?
拉丁的傳說

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊

這些是雜散字節(jié),如 、 等,以某些行為前綴。*%


雜散字節(jié)似乎是自定義流多路復(fù)用協(xié)議,允許并沿著同一連接發(fā)送。STDOUTSTDERR


使用解釋這些自定義標(biāo)頭和那些雜散字符,通過刪除每條數(shù)據(jù)的協(xié)議標(biāo)頭來避免。stdcopy.StdCopy()


參考: https://github.com/moby/moby/blob/master/pkg/stdcopy/stdcopy.go#L42


// Write sends the buffer to the underneath writer.

// It inserts the prefix header before the buffer,

// so stdcopy.StdCopy knows where to multiplex the output.

// It makes stdWriter to implement io.Writer.

所以,你的朋友是和使用Docker時(shí)的替代品和朋友。stdcopy.StdCopyio.Copy


一個(gè)示例,為您提供一個(gè)想法:


package main


import (

    "bytes"

    "fmt"

    "io"

    "strings"

)


var resp string = `

Content-Type: text/html

<html>

<head><title>HTML response</title></head>

<body><h1>Hello, Goodbye</h1></body>

</html>`


func main() {

    src := strings.NewReader(resp)

    dst := &bytes.Buffer{}

    _, _ = io.Copy(dst, src)

    fmt.Println(dst.String())

    // Output:

    //

    // Content-Type: text/html

    // <html>

    // <head><title>HTML response</title></head>

    // <body><h1>Hello, Goodbye</h1></body>

    // </html>

}

簽名:AS有一個(gè)方法,因此它實(shí)現(xiàn)了接口并且它工作。func io.Copy(dst io.Writer, src io.Reader)dst(*bytes.Buffer)Writeio.Writer


現(xiàn)在,當(dāng)使用時(shí)使用相同的想法,因?yàn)楹灻窍嗤摹ttps://pkg.go.dev/github.com/docker/docker/pkg/stdcopy#StdCopystdcopy.StdCopy()


查看完整回答
反對(duì) 回復(fù) 2022-09-05
  • 1 回答
  • 0 關(guān)注
  • 84 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)