Package hexadeca implements hexadecimal encoding and decoding, for the Go programming language. This is meant to be a better alternative to Go's built-in "hex" package.
Go to file
Charles Iliya Krempeaux d1cabb9167 initial commits 2023-10-27 11:00:18 -07:00
LICENSE initial commits 2023-10-26 11:15:51 -07:00
README.md initial commits 2023-10-27 11:00:18 -07:00
encodebyte.go initial commits 2023-10-26 17:21:23 -07:00
encodebyte_test.go initial commits 2023-10-26 17:21:23 -07:00
encodeint64.go initial commits 2023-10-27 00:58:13 -07:00
encodeint64_test.go initial commits 2023-10-27 00:58:13 -07:00
encodeuint16.go initial commits 2023-10-27 01:05:41 -07:00
encodeuint32.go initial commits 2023-10-27 01:05:33 -07:00
encodeuint64.go initial commits 2023-10-26 22:48:16 -07:00
encodeuint64_test.go initial commits 2023-10-26 21:46:23 -07:00
go.mod initial commits 2023-10-27 00:58:26 -07:00
symbols.go initial commits 2023-10-26 16:54:31 -07:00
symbols_test.go initial commits 2023-10-26 16:54:31 -07:00

README.md

go-hexadeca

Package hexadeca implements hexadecimal encoding and decoding, for the Go programming language. This is meant to be a better alternative to Go's built-in "hex" package.

Package hexadeca has functions for hexadecimal encoding and decoding with Go types:

  • byte (i.e., uint8),
  • uint16,
  • uint32
  • uint64
  • int64

Documention

Online documentation, which includes examples, can be found at: http://godoc.org/sourcecode.social/reiver/go-hexadeca

GoDoc

Example

A couple examples of encoding a byte to hexidecimal.

import "sourceccode.social/reiver/go-hexadeca"

// ...

// value==254 -> mostSignificant=='f', leastSignificant=='e'
mostSignificant, leastSignificant := hexadeca.EncodeByteUsingLowerCaseSymbols(value)

// ...

// value==254 -> mostSignificant=='F', leastSignificant=='E'
mostSignificant, leastSignificant := hexadeca.EncodeByteUsingUpperCaseSymbols(value)

A couple examples of encoding a uint16 to hexidecimal.

import "sourceccode.social/reiver/go-hexadeca"

// ...

r3, r2, r1, r0 = hexadeca.EncodeUint16UsingLowerCaseSymbols(value)

// ...

r3, r2, r1, r0 = hexadeca.EncodeUint16UsingLUpperCaseSymbols(value)

A couple examples of encoding a uint32 to hexidecimal.

import "sourceccode.social/reiver/go-hexadeca"

// ...

r7, r6, r5, r4, r3, r2, r1, r0 = hexadeca.EncodeUint32UsingLowerCaseSymbols(value)

// ...

r7, r6, r5, r4, r3, r2, r1, r0 = hexadeca.EncodeUint32UsingLUpperCaseSymbols(value)

A couple examples of encoding a uint64 to hexidecimal.

import "sourceccode.social/reiver/go-hexadeca"

// ...

// value==18364758544493064720 -> r15=='f', r14=='e', r13=='d', r12=='c', r11=='b', r10=='a', r9=='9', r8=='8', r7=='7', r6=='6', r5=='5', r4=='4', r3=='3', r2=='2', r1=='1', r0=='0'
r15, r14, r13, r12, r11, r10, r9, r8, r7, r6, r5, r4, r3, r2, r1, r0 = hexadeca.EncodeUint64UsingLowerCaseSymbols(value)

// ...

// value==18364758544493064720 -> r15=='F', r14=='E', r13=='D', r12=='C', r11=='B', r10=='A', r9=='9', r8=='8', r7=='7', r6=='6', r5=='5', r4=='4', r3=='3', r2=='2', r1=='1', r0=='0'
r15, r14, r13, r12, r11, r10, r9, r8, r7, r6, r5, r4, r3, r2, r1, r0 = hexadeca.EncodeUint64UsingLUpperCaseSymbols(value)

Import

To import package hexadeca use import code like the following:

import "sourcecode.social/reiver/go-hexadeca"

Installation

To install package hexadeca do the following:

GOPROXY=direct https://sourcecode.social/reiver/go-hexadeca

Author

Package hexadeca was written by Charles Iliya Krempeaux