bytes 二进制字节库

bytes 二进制字节库

bytes 二进制字节库

功能

bytes(value, mode) 创建不可变 Bytes 值,用于串口、TCP、UDP、WebSocket、Modbus 等二进制数据边界。

Bytes 不会隐式按 UTF-8 lossy 转字符串。json(bytes(...)) 输出带类型标记的 Base64 对象:{"type":"bytes","encoding":"base64","data":"..."}

语法

参数

参数类型必填默认值说明
valueString/Array/Bytes/Object空 Bytes字节来源。String 默认按 UTF-8 编码;Array 元素必须是 0 到 255;Bytes 直接复用;Object 可使用 hexbase64textdata 字段。
modeStringtextString 输入的解析模式。可选 textutf8hexbase64base64_url

返回值

类型说明
Bytes返回不可变字节值。

方法

方法说明
len返回字节长度。
get读取指定下标字节。
slice截取字节区间。
to_array转为整数数组。
to_hex转为十六进制文本。
to_base64转为 Base64 文本。
to_text按 UTF-8 严格转文本。
append追加数据并返回新 Bytes。

代码示例

注意事项

  • 单个 Bytes 缓冲受 BT_BYTES_LIMIT 限制,默认 16777216 字节,最大 67108864 字节。
  • to_text() 遇到非法 UTF-8 返回 null,不会做 lossy 转换。
  • Bytes 是不可变值,append()slice() 都返回新的 Bytes。