[go] go 언어의 encoding/hex 패키지 특징
GO 언어는 기본적인 데이터 인코딩/디코딩을 제공하는 표준 라이브러리를 갖추고 있다. encoding/hex
패키지는 16진수 문자열과 바이트 슬라이스 간의 변환을 가능하게 해준다. 또한, 16진수 인코딩된 데이터를 표준 출력에 인쇄하거나 하위 수준 통신 프로토콜에서 사용할 수 있는 기능도 가지고 있다.
encoding/hex 패키지 주요 기능
encoding/hex
패키지는 다음과 같은 기능을 제공한다.
- 16진수 문자열과 바이트 슬라이스 간의 변환
- 표준 출력에 16진수 인코딩된 데이터 출력
- 하위 수준 통신 프로토콜에서 사용 가능
예시 코드
package main
import (
"encoding/hex"
"fmt"
)
func main() {
data := []byte{10, 20, 30}
// 16진수 인코딩
encodedStr := hex.EncodeToString(data)
fmt.Println(encodedStr) // 출력: 0a141e
// 16진수 디코딩
decodedData, err := hex.DecodeString(encodedStr)
if err != nil {
fmt.Println("디코딩 에러:", err)
}
fmt.Println(decodedData) // 출력: [10 20 30]
}
위 예시 코드는 encoding/hex
패키지의 주요 기능을 보여주는데, 먼저 바이트 슬라이스를 16진수 문자열로 인코딩하고, 다시 디코딩하여 원래 데이터를 복구하는 과정을 보여준다.
결론
encoding/hex
패키지는 GO 언어에서 16진수 데이터를 다루는데 유용한 기능을 제공한다. 이를 활용하면 데이터 인코딩과 디코딩을 쉽게 할 수 있으며, 하위 수준의 통신 관련 작업에서도 유용하게 활용될 수 있다.
더 자세한 내용은 공식 문서를 참고할 수 있다.