首頁  >  文章  >  後端開發  >  如何在 Go 中將十六進位字串轉換為位元組切片?

如何在 Go 中將十六進位字串轉換為位元組切片?

Linda Hamilton
Linda Hamilton原創
2024-11-13 06:04:011069瀏覽

How do I convert a hex string to a byte slice in Go?

在Go 中將十六進位字串傳送到[]byte

將十六進位字串轉換為位元組切片[]byte 可以輕鬆實作使用hex.DecodeString() 函數。此函數採用十六進位字串表示形式作為參數,並傳回一個位元組切片,其中包含與十六進位字元對應的已解碼位元組。

範例:

考慮以下範例,其中我們想要將十六進位字串「46447381」轉換為位元組slice:

package main

import (
    "fmt"
    "encoding/hex"
)

func main() {
    s := "46447381"

    data, err := hex.DecodeString(s)
    if err != nil {
        panic(err)
    }

    fmt.Printf("%x", data)
}

說明:

  • 導入編碼/十六進位套件。
  • 使用 DecodeString() 解碼十六進位字串並將結果儲存在 data 變數中。
  • 以十六進位列印資料切片使用 fmt.Printf("%x", data) 格式化。

輸出:

46447381

注意:

需要注意的是,直接使用fmtln. (data)列印位元組片時,輸出將以十進位格式顯示。要以十六進位格式列印位元組,您應該使用 fmt.Printf("%x", data) 代替。

以上是如何在 Go 中將十六進位字串轉換為位元組切片?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn