[go] Go 언어에서 기본적으로 제공하는 encoding/binary 패키지
Go 언어에는 binary 데이터를 읽고 쓰기 위한 편리한 방법을 제공하는 encoding/binary 패키지가 있습니다. 이 패키지를 사용하면 데이터를 binary 형식으로 인코딩하고 디코딩하는 데 유용한 기능들을 사용할 수 있습니다.
encoding/binary 패키지 소개
encoding/binary 패키지는 바이트 슬라이스와 기본 Go 데이터 형식 사이의 변환을 제공합니다. 이를 통해 데이터를 binary 형식으로 인코딩하고 디코딩할 수 있으며, 이를 통해 네트워크 통신이나 파일 입출력 등 다양한 상황에서 사용할 수 있습니다.
사용 예시
다음은 encoding/binary 패키지를 사용하여 uint16 값을 binary로 인코딩하고 디코딩하는 간단한 예시입니다.
package main
import (
"encoding/binary"
"fmt"
"bytes"
)
func main() {
var buf bytes.Buffer
var num uint16 = 12345
// 인코딩
err := binary.Write(&buf, binary.LittleEndian, num)
if err != nil {
fmt.Println("binary write failed:", err)
return
}
fmt.Printf("Encoded binary data: %x\n", buf.Bytes())
// 디코딩
var decodedNum uint16
err = binary.Read(&buf, binary.LittleEndian, &decodedNum)
if err != nil {
fmt.Println("binary read failed:", err)
return
}
fmt.Printf("Decoded number: %d\n", decodedNum)
}
위의 코드는 encoding/binary
패키지의 Write
와 Read
함수를 사용하여 uint16 값을 binary 데이터로 인코딩하고 디코딩하는 예시를 보여줍니다.
더 많은 정보는 encoding/binary 공식 문서를 참고하실 수 있습니다.