>백엔드 개발 >Golang >Go에서 16진수 문자열을 바이트 슬라이스로 어떻게 변환하나요?

Go에서 16진수 문자열을 바이트 슬라이스로 어떻게 변환하나요?

Linda Hamilton
Linda Hamilton원래의
2024-11-13 06:04:011117검색

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

Go에서 16진수 문자열을 []바이트로 전송

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)
}

설명:

  • 인코딩/16진수 패키지를 가져옵니다.
  • DecodeString()을 사용하여 16진수 문자열을 디코딩하고 결과를 데이터 변수에 저장합니다.
  • fmt.Printf("%x", data)를 사용하여 데이터 슬라이스를 16진수 형식으로 인쇄합니다.

출력:

46447381

참고:

fmt를 사용하여 바이트 슬라이스를 직접 인쇄할 때 유의해야 하는 것이 중요합니다. .Println(data), 출력은 10진수 형식입니다. 16진수 형식으로 바이트를 인쇄하려면 대신 fmt.Printf("%x", data)를 사용해야 합니다.

위 내용은 Go에서 16진수 문자열을 바이트 슬라이스로 어떻게 변환하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.