ホームページ >バックエンド開発 >Golang >Go で 16 進文字列を [] バイトのスライスにデコードするにはどうすればよいですか?

Go で 16 進文字列を [] バイトのスライスにデコードするにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-13 04:16:02965ブラウズ

How Can I Decode Hex Strings into []byte Slices in Go?

Go で 16 進文字列を [] バイト スライスにデコードする

Go には、16 進文字列をバイトのスライスに変換する便利な方法があります。これは、16 進文字列として表されるバイナリ データを扱う場合、またはこの形式でエンコードされたデータを解析する必要がある場合に役立ちます。

encoding/hex パッケージの hex.DecodeString() 関数が解決策です。 16 進文字列を入力として受け取り、デコードされたデータを含むバイト スライスを返します。次の例はその使用法を示しています:

s := "46447381"

data, err := hex.DecodeString(s)
if err != nil {
    panic(err)
}
fmt.Printf("% x", data)

出力:

46 44 73 81

ただし、fmt を使用してバイト スライスを直接出力する場合に注意することが重要です。 Println(data)、値は 10 進数形式ではなく、10 進数形式になります。 16 進数。

fmt.Println(data)

出力:

[70 68 115 129]

これらの値は、10 進数のみで同じ数値を表します。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。