Go で 16 進文字列をバイト スライスに変換するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-13 06:04:01
オリジナル
1021 人が閲覧しました

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

Go で 16 進数文字列を []byte に転送する

16 進数文字列をバイトのスライスに変換する []byte は、次のコマンドで簡単に実現できます。 hex.DecodeString() 関数を使用します。この関数は 16 進文字列表現をパラメータとして受け取り、16 進文字に対応するデコードされたバイトを含むバイト スライスを返します。

例:

次の例を考えてみましょう。 16進数の文字列「46447381」をバイトに変換したいと考えていますスライス:

package main

import (
    "fmt"
    "encoding/hex"
)

func main() {
    s := "46447381"

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

    fmt.Printf("%x", data)
}
ログイン後にコピー

説明:

  • エンコーディング/hex パッケージをインポートします。
  • DecodeString() を使用して 16 進文字列をデコードし、結果をデータ変数に保存します。
  • データ スライスを 16 進数で出力しますfmt.Printf("%x", data) を使用した形式。

出力:

46447381
ログイン後にコピー

注:

次のことを使用してバイトスライスを直接印刷する場合に注意することが重要です。 fmt.Println(data) の場合、出力は 10 進数形式になります。バイトを 16 進形式で出力するには、代わりに fmt.Printf("%x", data) を使用する必要があります。

以上がGo で 16 進文字列をバイト スライスに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート