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

Функция hex.DecodeString

Функция hex.DecodeString декодирует строку, содержащую шестнадцатеричное представление данных, в исходный срез байтов. Она принимает один параметр - строку с шестнадцатеричными символами (включая необязательный префикс "0x") и возвращает декодированные байты и возможную ошибку. Функция игнорирует пробельные символы и символы новой строки, что позволяет удобно декодировать многострочные шестнадцатеричные строки.

Синтаксис

hex.DecodeString(str)

Пример

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

package main import ( "encoding/hex" "fmt" ) func main() { str := "48656c6c6f" res, err := hex.DecodeString(str) if err != nil { fmt.Println("Error:", err) return } fmt.Println(res) fmt.Printf("%s\n", res) }

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

[72 101 108 108 111] "Hello"

Пример

Давайте декодируем шестнадцатеричную строку с пробелами "48 65 6c 6c 6f":

package main import ( "encoding/hex" "fmt" ) func main() { str := "48 65 6c 6c 6f" res, err := hex.DecodeString(str) if err != nil { fmt.Println("Error:", err) return } fmt.Printf("%s\n", res) }

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

"Hello"

Пример

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

package main import ( "encoding/hex" "fmt" ) func main() { str := "48656c6c6g" res, err := hex.DecodeString(str) if err != nil { fmt.Println("Error:", err) return } fmt.Println(res) }

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

"Error: encoding/hex: invalid byte: U+0067 'g'"

Пример

Давайте декодируем шестнадцатеричную строку с префиксом "0x" - функция сама обработает его:

package main import ( "encoding/hex" "fmt" ) func main() { str := "0x48656c6c6f" res, err := hex.DecodeString(str) if err != nil { fmt.Println("Error:", err) return } fmt.Printf("%s\n", res) }

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

"Hello"

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

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