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

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

如何將 []byte 轉(zhuǎn)換為 C 十六進(jìn)制格式 0x...?

如何將 []byte 轉(zhuǎn)換為 C 十六進(jìn)制格式 0x...?

Go
繁華開滿天機(jī) 2023-07-31 10:56:23
func main() {     str := hex.EncodeToString([]byte("go"))     fmt.Println(str) }此代碼返回676f. 如何打印類似 C 的內(nèi)容0x67, 0x6f?
查看完整描述

2 回答

?
呼喚遠(yuǎn)方

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

我在模塊中找不到任何hex可以實(shí)現(xiàn)您想要的功能。但是,我們可以使用自定義緩沖區(qū)以我們想要的格式寫入。


package main


import (

    "bytes"

    "fmt"

)


func main() {

    originalBytes := []byte("go")


    result := make([]byte, 4*len(originalBytes))


    buff := bytes.NewBuffer(result)


    for _, b := range originalBytes {

        fmt.Fprintf(buff, "0x%02x ", b)

    }


    fmt.Println(buff.String())


}


可運(yùn)行示例: https: //goplay.space/#fyhDJ094GgZ


查看完整回答
反對 回復(fù) 2023-07-31
?
不負(fù)相思意

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

這是一個(gè)產(chǎn)生問題中指定的結(jié)果的解決方案。具體來說,每個(gè)字節(jié)之間有一個(gè)“,”,并且沒有尾隨空格。


p := []byte("go")


var buf strings.Builder

if len(p) > 0 {

    buf.Grow(len(p)*6 - 2)

    for i, b := range p {

        if i > 0 {

            buf.WriteString(", ")

        }

        fmt.Fprintf(&buf, "0x%02x", b)

    }

}

result := buf.String()

strings.Builder類型用于避免在最終轉(zhuǎn)換為字符串時(shí)分配內(nèi)存。另一個(gè)答案使用 bytes.Buffer 在這一步分配內(nèi)存。


構(gòu)建器的初始大小足以容納每個(gè)字節(jié)和分隔符的表示。另一個(gè)答案忽略了分隔符的大小。


在 Go 游樂場上嘗試一下



查看完整回答
反對 回復(fù) 2023-07-31
  • 2 回答
  • 0 關(guān)注
  • 208 瀏覽

添加回答

舉報(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)