File: base16.go

package info (click to toggle)
golang-github-multiformats-go-multibase 0.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 216 kB
  • sloc: makefile: 7
file content (21 lines) | stat: -rw-r--r-- 433 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package multibase

func hexEncodeToStringUpper(src []byte) string {
	dst := make([]byte, len(src)*2)
	hexEncodeUpper(dst, src)
	return string(dst)
}

var hexTableUppers = [16]byte{
	'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
	'A', 'B', 'C', 'D', 'E', 'F',
}

func hexEncodeUpper(dst, src []byte) int {
	for i, v := range src {
		dst[i*2] = hexTableUppers[v>>4]
		dst[i*2+1] = hexTableUppers[v&0x0f]
	}

	return len(src) * 2
}