nl::Weave::Encoding

此命名空间提供了用于以下用途的函数:

摘要

  • 按 16 位、32 位和 64 位类型的值对字节重新排序。
  • 安全执行简单、高效的内存映射访问,可能访问未对齐的内存位置(无论是否对字节重新排序)到 8 位、16 位、32 位和 64 位的数量(无论是否使用指针管理)。

函数

Get8(const uint8_t *p)
uint8_t
从指定的指针地址对 8 位值执行可能未对齐的内存读取。
Put8(uint8_t *p, uint8_t v)
void
对指定的指针地址执行可能未对齐的目标系统字节顺序 8 位值的内存写入。
Read8(uint8_t *& p)
uint8_t
从指定的指针地址对 16 位值执行可能未对齐的内存读取,并将指针递增 8 位(1 字节)。
Read8(const uint8_t *& p)
uint8_t
从指定的指针地址对 16 位值执行可能未对齐的内存读取,并将指针递增 8 位(1 字节)。
Swap16(uint16_t v)
uint16_t
这会按指定的 16 位值无条件执行字节顺序交换。
Swap32(uint32_t v)
uint32_t
这会按指定的 32 位值无条件执行字节顺序交换。
Swap64(uint64_t v)
uint64_t
这会按指定 64 位值的值无条件执行字节顺序交换。
Write8(uint8_t *& p, uint8_t v)
void
对指定的指针地址执行可能未对齐的 8 位内存写入,并将指针增加 8 位(1 字节)。

命名空间

nl::Weave::Encoding::BigEndian

此命名空间提供了用于以下用途的函数:

nl::Weave::Encoding::LittleEndian

此命名空间提供了用于以下用途的函数:

函数

Get8

uint8_t Get8(
  const uint8_t *p
)

从指定的指针地址对 8 位值执行可能未对齐的内存读取。

具体说明
参数
[in] p
一个指针地址,可能未对齐,用于从中读取 8 位值。
返回值
指定指针地址中的 8 位值。

Put8

void Put8(
  uint8_t *p,
  uint8_t v
)

对指定的指针地址执行可能未对齐的目标系统字节顺序 8 位值的内存写入。

具体说明
参数
[in] p
将 8 位值写入到的指针地址,可能未对齐。
[in] v
要写入的 8 位值。

Read8

uint8_t Read8(
  uint8_t *& p
)

从指定的指针地址对 16 位值执行可能未对齐的内存读取,并将指针递增 8 位(1 字节)。

具体说明
参数
[in,out] p
对指针地址的引用,可能未对齐,用于从 8 位值开始读取 8 位值,然后以 8 位(1 字节)递增。
返回值
指定指针地址中的 8 位值。

Read8

uint8_t Read8(
  const uint8_t *& p
)

从指定的指针地址对 16 位值执行可能未对齐的内存读取,并将指针递增 8 位(1 字节)。

具体说明
参数
[in,out] p
对常量指针地址的引用,可能未对齐,用于从 8 位值开始读取 8 位值,然后以 8 位(1 字节)递增。
返回值
指定指针地址中的 8 位值。

Swap16

uint16_t Swap16(
  uint16_t v
)

这会按指定的 16 位值无条件执行字节顺序交换。

具体说明
参数
[in] v
要交换字节顺序的 16 位值。
返回值
已交换的输入值,字节顺序。

Swap32

uint32_t Swap32(
  uint32_t v
)

这会按指定的 32 位值无条件执行字节顺序交换。

具体说明
参数
[in] v
要交换字节顺序的 32 位值。
返回值
已交换的输入值,字节顺序。

Swap64

uint64_t Swap64(
  uint64_t v
)

这会按指定 64 位值的值无条件执行字节顺序交换。

具体说明
参数
[in] v
要交换字节顺序的 64 位值。
返回值
已交换的输入值,字节顺序。

Write8

void Write8(
  uint8_t *& p,
  uint8_t v
)

对指定的指针地址执行可能未对齐的 8 位内存写入,并将指针增加 8 位(1 字节)。

具体说明
参数
[in,out] p
对指针地址的引用,可能未对齐,用于从 8 位值开始读取 8 位值,然后以 8 位(1 字节)递增。
[in] v
要写入的 8 位值。