Module encoding.binary stdlib

encoding.binary
Version:
0.3.3
License:
MIT
Dependencies from vmod:
0
Imports:
0
Imported by:
10
Repository:
OS-specific
Show selected OS-specific symbols.
Backend-specific
Show selected Backend-specific symbols.

Dependencies defined in v.mod

This section is empty.

Imports

This section is empty.

Overview

Description

encoding.binary contains utility functions for converting between an array of bytes ([]u8) and unsigned integers of various widths (u16, u32, and u64).

There are two ways in which bytes can be encoded:

  1. Little endian: The least significant bytes are stored first, followed by the most significant bytes.
  2. Big endian: The most significant bytes are stored first, opposite to the little endian convention.

For example, let us take the number 0x12345678. In little endian, the bytes are extracted as 0x78, 0x56, 0x34, and 0x12. In big endian, the bytes are 0x12, 0x34, 0x56, and 0x78.

We follow a similar procedure when we want to go the other way around. Consider the second sequence of bytes in the previous example: 0x12, 0x34, 0x56, and 0x78. If we encode this sequence in little endian format, we get the integer 0x78563412. If we encode this sequence in big endian, we get 0x12345678.

The functions in this module assume appropriately sized u8 arrays. If the sizes are not valid, the functions will panic.

Aliases

This section is empty.

Constants

This section is empty.

Sum types

This section is empty.

Functions

#fn big_endian_put_u16

direct_array_accessinline
fn big_endian_put_u16(mut b &[]u8, v u16)

big_endian_put_u16 writes a u16 to the first two bytes in the array b in big endian order.

#fn big_endian_put_u16_at

direct_array_accessinline
fn big_endian_put_u16_at(mut b &[]u8, v u16, o int)

big_endian_put_u16_at writes a u16 to the two bytes in the array b at the specified offset in big endian order.

#fn big_endian_put_u16_end

direct_array_accessinline
fn big_endian_put_u16_end(mut b &[]u8, v u16)

big_endian_put_u16_end writes a u16 to the last two bytes in the array b in big endian order.

#fn big_endian_put_u32

direct_array_accessinline
fn big_endian_put_u32(mut b &[]u8, v u32)

big_endian_put_u32 writes a u32 to the first four bytes in the array b in big endian order.

#fn big_endian_put_u32_at

direct_array_accessinline
fn big_endian_put_u32_at(mut b &[]u8, v u32, o int)

big_endian_put_u32_at writes a u32 to four bytes in the array b at the specified offset in big endian order.

#fn big_endian_put_u32_end

direct_array_accessinline
fn big_endian_put_u32_end(mut b &[]u8, v u32)

big_endian_put_u32_end writes a u32 to the last four bytes in the array b in big endian order.

#fn big_endian_put_u64

direct_array_accessinline
fn big_endian_put_u64(mut b &[]u8, v u64)

big_endian_put_u64 writes a u64 to the first eight bytes in the array b in big endian order.

#fn big_endian_put_u64_at

direct_array_accessinline
fn big_endian_put_u64_at(mut b &[]u8, v u64, o int)

big_endian_put_u64_at writes a u64 to eight bytes in the array b at the specified offset in big endian order.

#fn big_endian_put_u64_end

direct_array_accessinline
fn big_endian_put_u64_end(mut b &[]u8, v u64)

big_endian_put_u64_end writes a u64 to the last eight bytes in the array b at the specified offset in big endian order.

#fn big_endian_u16

direct_array_accessinline
fn big_endian_u16(b []u8) u16

big_endian_u16 creates a u16 from the first two bytes in the array b in big endian order.

#fn big_endian_u16_at

direct_array_accessinline
fn big_endian_u16_at(b []u8, o int) u16

big_endian_u16_at creates a u16 from two bytes in the array b at the specified offset in big endian order.

#fn big_endian_u16_end

direct_array_accessinline
fn big_endian_u16_end(b []u8) u16

big_endian_u16_end creates a u16 from two bytes in the array b at the specified offset in big endian order.

#fn big_endian_u32

direct_array_accessinline
fn big_endian_u32(b []u8) u32

big_endian_u32 creates a u32 from four bytes in the array b in big endian order.

#fn big_endian_u32_at

direct_array_accessinline
fn big_endian_u32_at(b []u8, o int) u32

big_endian_u32_at creates a u32 from four bytes in the array b at the specified offset in big endian order.

#fn big_endian_u32_end

direct_array_accessinline
fn big_endian_u32_end(b []u8) u32

big_endian_u32_end creates a u32 from the last four bytes in the array b in big endian order.

#fn big_endian_u64

direct_array_accessinline
fn big_endian_u64(b []u8) u64

big_endian_u64 creates a u64 from the first eight bytes in the array b in big endian order.

#fn big_endian_u64_at

direct_array_accessinline
fn big_endian_u64_at(b []u8, o int) u64

big_endian_u64_at creates a u64 from eight bytes in the array b at the specified offset in big endian order.

#fn big_endian_u64_end

direct_array_accessinline
fn big_endian_u64_end(b []u8) u64

big_endian_u64_end creates a u64 from the last eight bytes in the array b in big endian order.

#fn little_endian_put_u16

direct_array_accessinline
fn little_endian_put_u16(mut b &[]u8, v u16)

little_endian_put_u16 writes a u16 to the first two bytes in the array b in little endian order.

#fn little_endian_put_u16_at

direct_array_accessinline
fn little_endian_put_u16_at(mut b &[]u8, v u16, o int)

little_endian_put_u16_at writes a u16 to the two bytes in the array b at the specified offset in little endian order.

#fn little_endian_put_u16_end

direct_array_accessinline
fn little_endian_put_u16_end(mut b &[]u8, v u16)

little_endian_put_u16_end writes a u16 to the last two bytes of the array b in little endian order.

#fn little_endian_put_u32

direct_array_accessinline
fn little_endian_put_u32(mut b &[]u8, v u32)

little_endian_put_u32 writes a u32 to the first four bytes in the array b in little endian order.

#fn little_endian_put_u32_at

direct_array_accessinline
fn little_endian_put_u32_at(mut b &[]u8, v u32, o int)

little_endian_put_u32_at writes a u32 to the two bytes in the array b at the specified offset in little endian order.

#fn little_endian_put_u32_end

direct_array_accessinline
fn little_endian_put_u32_end(mut b &[]u8, v u32)

little_endian_put_u32_end writes a u32 to the last two bytes in the array b in little endian order.

#fn little_endian_put_u64

direct_array_accessinline
fn little_endian_put_u64(mut b &[]u8, v u64)

little_endian_put_u64 writes a u64 to the first eight bytes in the array b in little endian order.

#fn little_endian_put_u64_at

direct_array_accessinline
fn little_endian_put_u64_at(mut b &[]u8, v u64, o int)

little_endian_put_u64_at writes a u64 to the eight bytes in the array b at the specified offset in little endian order.

#fn little_endian_put_u64_end

direct_array_accessinline
fn little_endian_put_u64_end(mut b &[]u8, v u64)

little_endian_put_u64_end writes a u64 to the last eight bytes in the array b at in little endian order.

#fn little_endian_u16

direct_array_accessinline
fn little_endian_u16(b []u8) u16

little_endian_u16 creates a u16 from the first two bytes in the array b in little endian order.

#fn little_endian_u16_at

direct_array_accessinline
fn little_endian_u16_at(b []u8, o int) u16

little_endian_u16_at creates a u16 from two bytes in the array b at the specified offset in little endian order.

#fn little_endian_u16_end

direct_array_accessinline
fn little_endian_u16_end(b []u8) u16

little_endian_u16_end creates a u16 from the last two bytes of the array b in little endian order.

#fn little_endian_u32

direct_array_accessinline
fn little_endian_u32(b []u8) u32

little_endian_u32 creates a u32 from the first four bytes in the array b in little endian order.

#fn little_endian_u32_at

direct_array_accessinline
fn little_endian_u32_at(b []u8, o int) u32

little_endian_u32_at creates a u32 from four bytes in the array b at the specified offset in little endian order.

#fn little_endian_u32_end

direct_array_accessinline
fn little_endian_u32_end(b []u8) u32

little_endian_u32_end creates a u32 from the last four bytes in the array b in little endian order.

#fn little_endian_u64

direct_array_accessinline
fn little_endian_u64(b []u8) u64

little_endian_u64 creates a u64 from the first eight bytes in the array b in little endian order.

#fn little_endian_u64_at

direct_array_accessinline
fn little_endian_u64_at(b []u8, o int) u64

little_endian_u64_at creates a u64 from eight bytes in the array b at the specified offset in little endian order.

#fn little_endian_u64_end

direct_array_accessinline
fn little_endian_u64_end(b []u8) u64

little_endian_u64_end creates a u64 from the last eight bytes in the array b in little endian order.

Structs

This section is empty.

Interfaces

This section is empty.

Enums

This section is empty.