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

Переменная binary.NativeEndian

Переменная binary.NativeEndian предоставляет доступ к порядку байт, который используется в текущей системе. Она возвращает значение типа binary.ByteOrder, которое может быть либо binary.LittleEndian, либо binary.BigEndian, в зависимости от архитектуры процессора. Эта переменная особенно полезна при работе с бинарными данными, когда важно знать, как интерпретируются многобайтовые числа.

Синтаксис

binary.NativeEndian

Пример

Давайте проверим, какой порядок байт используется в текущей системе:

package main import ( "encoding/binary" "fmt" ) func main() { if binary.NativeEndian == binary.LittleEndian { fmt.Println("Система использует little-endian") } else if binary.NativeEndian == binary.BigEndian { fmt.Println("Система использует big-endian") } }

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

"Система использует little-endian"

Пример

Давайте используем binary.NativeEndian для записи числа в байтовый слайс с учетом порядка байт текущей системы:

package main import ( "encoding/binary" "fmt" ) func main() { value := uint32(0x12345678) bytes := make([]byte, 4) binary.NativeEndian.PutUint32(bytes, value) fmt.Printf("Число %x в байтах: %x\n", value, bytes) }

Результат выполнения кода на little-endian системе:

"Число 12345678 в байтах: [78 56 34 12]"

Пример

Давайте прочитаем число из байтового слайса, используя порядок байт текущей системы:

package main import ( "encoding/binary" "fmt" ) func main() { bytes := []byte{0x78, 0x56, 0x34, 0x12} value := binary.NativeEndian.Uint32(bytes) fmt.Printf("Байты %x в число: %x\n", bytes, value) }

Результат выполнения кода на little-endian системе:

"Байты [78 56 34 12] в число: 12345678"

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

  • переменную binary.BigEndian,
    которая представляет порядок байт от старшего к младшему
  • переменную binary.LittleEndian,
    которая представляет порядок байт от младшего к старшему
  • функцию binary.Size,
    которая возвращает размер данных в байтах
  • функцию binary.Read,
    которая читает структурированные бинарные данные
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить