[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하는 작업을 쉽게 처리할 수 있습니다. 이를 활용하여 데이터를 전송하거나 저장할 때 유용하게 활용할 수 있습니다.

참고 자료