Функция hex.Dump
Функция hex.Dump возвращает строку, содержащую шестнадцатеричное
представление переданных байтовых данных. В первом параметре
функция принимает срез байтов []byte для форматирования.
Результат представляет собой многострочную строку, где каждая строка
содержит адрес смещения, шестнадцатеричные значения байтов и их
ASCII-представление.
Синтаксис
hex.Dump(data []byte) string
Пример
Давайте выведем шестнадцатеричный дамп строки 'abcde':
package main
import (
"encoding/hex"
"fmt"
)
func main() {
data := []byte("abcde")
res := hex.Dump(data)
fmt.Print(res)
}
Результат выполнения кода:
00000000 61 62 63 64 65 |abcde|
Пример
Давайте выведем шестнадцатеричный дамп более длинного фрагмента данных:
package main
import (
"encoding/hex"
"fmt"
)
func main() {
data := []byte("Hello, World! Hello, Go!")
res := hex.Dump(data)
fmt.Print(res)
}
Результат выполнения кода:
00000000 48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21 20 48 65 |Hello, World! He|
00000010 6c 6c 6f 2c 20 47 6f 21 |llo, Go!|
Пример
Давайте используем hex.Dump для отладки бинарных данных:
package main
import (
"encoding/hex"
"fmt"
)
func main() {
data := []byte{0x00, 0x01, 0x02, 0x03, 0xff, 0xfe, 0xfd, 0xfc}
res := hex.Dump(data)
fmt.Print(res)
}
Результат выполнения кода:
00000000 00 01 02 03 ff fe fd fc |........|
Смотрите также
-
функцию
hex.Dumper,
которая создает писатель для записи шестнадцатеричного дампа в поток -
функцию
hex.EncodeToString,
которая кодирует байты в шестнадцатеричную строку -
функцию
hex.DecodeString,
которая декодирует шестнадцатеричную строку в байты -
функцию
hex.Encode,
которая кодирует байты в шестнадцатеричный срез