[go] go 언어에서의 encoding/hex 패키지를 활용한 데이터 전송
개요
이번 포스트에서는 go 언어의 encoding/hex
패키지를 활용하여 데이터를 16진수로 encoding하고 다시 decoding하는 방법에 대해 알아보겠습니다.
encoding/hex 패키지란?
encoding/hex
패키지는 go 언어에서 16진수 데이터를 encoding하고 decoding하기 위한 기능을 제공합니다. 이 패키지를 사용하여 데이터를 16진수로 변환하여 전송하거나 저장할 수 있습니다.
데이터를 16진수로 encoding하기
다음은 encoding/hex
패키지를 사용하여 문자열을 16진수로 encoding하는 예제입니다.
package main
import (
"encoding/hex"
"fmt"
)
func main() {
str := "Hello, world!"
encoded := hex.EncodeToString([]byte(str))
fmt.Println(encoded) // 출력: 48656c6c 6f2c20776f 726c6421
}
위 예제에서는 hex.EncodeToString
함수를 사용하여 문자열을 16진수로 encoding하였습니다.
16진수 데이터를 decoding하기
이제 encoding된 16진수 데이터를 다시 decoding하는 방법에 대해 알아보겠습니다.
package main
import (
"encoding/hex"
"fmt"
)
func main() {
encoded := "48656c6c6f2c20776f726c6421"
decoded, err := hex.DecodeString(encoded)
if err != nil {
fmt.Println("Decoding error:", err)
return
}
fmt.Println(string(decoded)) // 출력: Hello, world!
}
위 예제에서는 hex.DecodeString
함수를 사용하여 16진수 데이터를 decoding하였습니다.
마무리
encoding/hex
패키지를 사용하면 데이터를 16진수로 encoding하고 decoding하는 작업을 쉽게 처리할 수 있습니다. 이를 활용하여 데이터를 전송하거나 저장할 때 유용하게 활용할 수 있습니다.
참고 자료
- 공식 go 언어 문서: encoding/hex