encoding/hex
Package hex
Overview
Package hex implements hexadecimal encoding and decoding.
Index
Examples
Package files
Variables
ErrLength results from decoding an odd length slice.
var ErrLength = errors.New("encoding/hex: odd length hex string")
func DecodeSource
func Decode(dst, src []byte) (int, error)
Decode decodes src into DecodedLen(len(src)) bytes, returning the actual number of bytes written to dst.
Decode expects that src contain only hexadecimal characters and that src should have an even length.
Example
package main import ( "encoding/hex" "fmt" "log" ) func main() { src := []byte("48656c6c6f20476f7068657221") dst := make([]byte, hex.DecodedLen(len(src))) n, err := hex.Decode(dst, src) if err != nil { log.Fatal(err) } fmt.Printf("%s\n", dst[:n]) }
func DecodeStringSource
func DecodeString(s string) ([]byte, error)
DecodeString returns the bytes represented by the hexadecimal string s.
Example
package main import ( "encoding/hex" "fmt" "log" ) func main() { const s = "48656c6c6f20476f7068657221" decoded, err := hex.DecodeString(s) if err != nil { log.Fatal(err) } fmt.Printf("%s\n", decoded) }
func DecodedLenSource
func DecodedLen(x int) int
DecodedLen returns the length of a decoding of x source bytes. Specifically, it returns x / 2.
func DumpSource
func Dump(data []byte) string
Dump returns a string that contains a hex dump of the given data. The format of the hex dump matches the output of `hexdump -C` on the command line.
Example
package main import ( "encoding/hex" "fmt" ) func main() { content := []byte("Go is an open source programming language.") fmt.Printf("%s", hex.Dump(content)) }
func DumperSource
func Dumper(w io.Writer) io.WriteCloser
Dumper returns a WriteCloser that writes a hex dump of all written data to w. The format of the dump matches the output of `hexdump -C` on the command line.
Example
package main import ( "encoding/hex" "os" ) func main() { lines := []string{ "Go is an open source programming language.", "\n", "We encourage all Go users to subscribe to golang-announce.", } stdoutDumper := hex.Dumper(os.Stdout) defer stdoutDumper.Close() for _, line := range lines { stdoutDumper.Write([]byte(line)) } }
func EncodeSource
func Encode(dst, src []byte) int
Encode encodes src into EncodedLen(len(src)) bytes of dst. As a convenience, it returns the number of bytes written to dst, but this value is always EncodedLen(len(src)). Encode implements hexadecimal encoding.
Example
package main import ( "encoding/hex" "fmt" ) func main() { src := []byte("Hello Gopher!") dst := make([]byte, hex.EncodedLen(len(src))) hex.Encode(dst, src) fmt.Printf("%s\n", dst) }
func EncodeToStringSource
func EncodeToString(src []byte) string
EncodeToString returns the hexadecimal encoding of src.
Example
package main import ( "encoding/hex" "fmt" ) func main() { src := []byte("Hello") encodedStr := hex.EncodeToString(src) fmt.Printf("%s\n", encodedStr) }
func EncodedLenSource
func EncodedLen(n int) int
EncodedLen returns the length of an encoding of n source bytes. Specifically, it returns n * 2.
type InvalidByteErrorSource
InvalidByteError values describe errors resulting from an invalid byte in a hex string.
type InvalidByteError byte
func (InvalidByteError) ErrorSource
func (e InvalidByteError) Error() string
© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
https://golang.org/pkg/encoding/hex/