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

Метод binary.ByteOrder.Uint16

Метод binary.ByteOrder.Uint16 преобразует два байта из среза в 16-битное целое число без знака. В первый параметр метод принимает срез байтов []byte, из которого необходимо прочитать число. Метод возвращает значение типа uint16. Важно, чтобы в срезе было как минимум два байта, иначе метод вызовет панику. Порядок байтов определяется тем, какой экземпляр ByteOrder используется: binary.BigEndian для сетевого порядка (старший байт в начале) или binary.LittleEndian для порядка от младшего к старшему.

Синтаксис

var order binary.ByteOrder value := order.Uint16(b []byte) uint16

Пример

Давайте прочитаем число из байтового среза с использованием порядка байтов BigEndian:

package main import ( "encoding/binary" "fmt" ) func main() { data := []byte{0x12, 0x34} res := binary.BigEndian.Uint16(data) fmt.Println(res) }

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

4660

Пример

Теперь прочитаем те же байты с порядком LittleEndian. Результат будет другим, так как байты интерпретируются в обратном порядке:

package main import ( "encoding/binary" "fmt" ) func main() { data := []byte{0x12, 0x34} res := binary.LittleEndian.Uint16(data) fmt.Println(res) }

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

13330

Пример

Метод Uint16 можно применять к любому срезу байтов, например, к части более крупного буфера. В этом примере мы читаем 16-битное число, начиная с индекса 2:

package main import ( "encoding/binary" "fmt" ) func main() { buf := []byte{0x01, 0x02, 0xAA, 0xBB, 0x03, 0x04} res := binary.BigEndian.Uint16(buf[2:4]) fmt.Printf("%#x\n", res) }

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

0xaabb

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

  • метод binary.ByteOrder.Uint32,
    который читает 32-битное число из байтового среза
  • метод binary.ByteOrder.Uint64,
    который читает 64-битное число из байтового среза
  • метод binary.ByteOrder.PutUint16,
    который записывает 16-битное число в байтовый срез
  • функцию binary.Read,
    которая читает структурированные данные из читателя
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить