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 位值。