[go] go 언어에서의 encoding/hex 패키지와 데이터 처리
go 언어는 바이트 데이터를 다루는데 매우 우수한 기능을 제공합니다. 이를 위해 encoding/hex 패키지를 사용하여 데이터를 16진수로 인코딩하거나 디코딩할 수 있습니다. 이번 블로그에서는 이러한 패키지를 활용한 데이터 처리에 대해 알아보겠습니다.
encoding/hex 패키지 소개
go 언어의 encoding/hex 패키지는 16진수 인코딩 및 디코딩을 지원합니다. 이 패키지를 사용하면 바이트 슬라이스의 데이터를 16진수 형태로 변환하거나 반대로 변환할 수 있습니다.
데이터를 16진수로 인코딩하기
아래는 encoding/hex 패키지를 사용하여 바이트 데이터를 16진수로 인코딩하는 예제 코드입니다.
package main
import (
"encoding/hex"
"fmt"
)
func main() {
data := []byte("hello, world")
encoded := hex.EncodeToString(data)
fmt.Println(encoded)
}
16진수를 데이터로 디코딩하기
encoding/hex 패키지를 사용하여 16진수를 원래의 데이터로 디코딩하는 방법은 다음과 같습니다.
package main
import (
"encoding/hex"
"fmt"
)
func main() {
str := "68656c6c6f2c20776f726c64"
decoded, err := hex.DecodeString(str)
if err != nil {
fmt.Println("decode error:", err)
}
fmt.Println(string(decoded))
}
결론
encoding/hex 패키지는 go 언어에서 바이트 데이터를 16진수로 표현하거나 16진수를 다시 바이트 데이터로 디코딩하는 용이한 기능을 제공합니다. 이를 통해 데이터 처리 및 변환 작업을 손쉽게 수행할 수 있습니다.
이상으로 encoding/hex 패키지를 활용한 데이터 처리에 대해 알아보았습니다.
참고 자료: Go encoding/hex 패키지 공식 문서