РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1194 of 1593 menu

Функция hex.NewDecoder

Функция hex.NewDecoder создает новый декодер, который читает шестнадцатеричные данные из переданного io.Reader и возвращает io.Reader, из которого можно читать декодированные двоичные данные. Функция принимает один параметр - источник шестнадцатеричных данных, и возвращает декодер, реализующий интерфейс io.Reader.

Синтаксис

hex.NewDecoder(r io.Reader) io.Reader

Пример

Давайте декодируем шестнадцатеричную строку в байтовый срез:

package main import ( "encoding/hex" "fmt" "strings" ) func main() { src := strings.NewReader("48656c6c6f20576f726c64") decoder := hex.NewDecoder(src) res, err := io.ReadAll(decoder) if err != nil { panic(err) } fmt.Printf("%s\n", res) }

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

"Hello World"

Пример

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

package main import ( "encoding/hex" "fmt" "strings" ) func main() { src := strings.NewReader("0102030405") decoder := hex.NewDecoder(src) res, err := io.ReadAll(decoder) if err != nil { panic(err) } fmt.Printf("%v\n", res) }

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

[1 2 3 4 5]

Пример

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

package main import ( "encoding/hex" "fmt" "strings" ) func main() { src := strings.NewReader("777777") decoder := hex.NewDecoder(src) buf := make([]byte, 3) n, err := decoder.Read(buf) if err != nil { panic(err) } fmt.Printf("%d\n", n) fmt.Printf("%s\n", buf) }

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

3 "www"

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

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