>  기사  >  백엔드 개발  >  Go에서 16진수 문자열을 바이트 배열로 변환하는 방법은 무엇입니까?

Go에서 16진수 문자열을 바이트 배열로 변환하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-14 17:09:02351검색

How to Convert Hexadecimal Strings to Byte Arrays in Go?

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

Go에서 16진수 문자열을 바이트 배열로 변환하는 것은 다양한 프로그래밍 시나리오에서 일반적인 작업입니다. 이 문서에서는 hex.DecodeString() 함수를 사용하여 이를 달성하는 간단한 방법을 보여줍니다.

당면 문제는 16진수 문자열 "46447381"을 개별 16진수 값을 나타내는 바이트 배열로 변환하는 것입니다: {0x46, 0x44, 0x73, 0x81}.

이 문제에 대한 해결책은 hex.DecodeString() 함수를 활용하는 것입니다:

package main

import (
    "encoding/hex"
    "fmt"
)

func main() {
    s := "46447381"

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

설명:

  1. hex.DecodeString() 함수는 16진수 문자열을 입력으로 사용하고 디코딩된 16진수 값이 포함된 바이트 슬라이스를 반환합니다.
  2. 그런 다음 디코딩된 바이트 슬라이스인 데이터는 fmt.Printf( "% x", 데이터)를 사용하여 값을 16진수 형식으로 표시합니다.

출력:

46 44 73 81

참고:

fmt.Println(data)을 사용하여 단순히 바이트 슬라이스를 인쇄하면 값이 16진수가 아닌 10진수 형식으로 출력된다는 점을 기억하는 것이 중요합니다. 따라서 16진수 값을 정확하게 표시하려면 fmt.Printf("% x", data)를 사용하는 것이 중요합니다.

위 내용은 Go에서 16진수 문자열을 바이트 배열로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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