Функция hex.Dumper

Функция hex.Dumper создает новый io.Writer, который преобразует записываемые данные в шестнадцатеричный формат с ASCII-представлением и записывает их в указанный выходной поток. В единственный параметр функция принимает io.Writer, в который будет производиться запись отформатированных данных.

Синтаксис

gohex.Dumper(w io.Writer) io.WriteCloser

Пример

Давайте запишем строку в дампер и выведем результат в стандартный вывод:

gopackage main

import (
  "encoding/hex"
  "fmt"
  "os"
)

func main() {
  dumper := hex.Dumper(os.Stdout)
  defer dumper.Close()

  data := []byte("Hello, World!")
  dumper.Write(data)
}

Результат выполнения кода:

go00000000  48 65 6c 6c 6f 2c 20 57  6f 72 6c 64 21       |Hello, World!|

Пример

Давайте запишем несколько порций данных в дампер и посмотрим на результат:

gopackage main

import (
  "encoding/hex"
  "os"
)

func main() {
  dumper := hex.Dumper(os.Stdout)
  defer dumper.Close()

  dumper.Write([]byte("Hello, "))
  dumper.Write([]byte("World!"))
}

Результат выполнения кода:

go00000000  48 65 6c 6c 6f 2c 20 57  6f 72 6c 64 21       |Hello, World!|

Пример

Давайте запишем данные в дампер и проверим, что он правильно закрывает поток:

gopackage main

import (
  "bytes"
  "encoding/hex"
  "fmt"
)

func main() {
  var buf bytes.Buffer
  dumper := hex.Dumper(&buf)

  data := []byte("abcde12345")
  dumper.Write(data)
  dumper.Close()

  fmt.Println(buf.String())
}

Результат выполнения кода:

go00000000  61 62 63 64 65 31 32 33  34 35          |abcde12345|

Смотрите также

  • функцию hex.Dump,
    которая возвращает строку с шестнадцатеричным дампом данных
  • функцию hex.Encode,
    которая кодирует данные в шестнадцатеричный формат
  • функцию hex.EncodeToString,
    которая возвращает строку с шестнадцатеричным представлением данных
  • функцию hex.DecodeString,
    которая декодирует строку из шестнадцатеричного формата