YStudio Y++

字节集操作(基础支持库)

Y++ / YStudio 开发文档 · 一点滴

路径:支持库 → 基础支持库 → 字节集操作。

硬约束

  1. 扁平命令:字节集长度(数据),无对象前缀。
  2. 下标 / 起始索引从 0(与数组一致);取值范围 0~255。
  3. 字节集查找 / 字节集查找字节集 未找到返回 -1。
  4. 读文件为字节集也可用 到字节集(路径),见 类型转换。
  5. 字符集换码优先 编码支持库 的字节集 API。

快速开始

字节集 包 = 十六进制到字节集("AA550102")
输出(字节集长度(包))
输出(字节集取值(包, 0))
整数 i = 字节集查找(包, 0x55)
如果 (i >= 0) {
    输出(字节集到十六进制(字节集截取(包, i + 1)))
}

字节集操作

本分类共 25 条。

十六进制到字节集

  • 签名:字节集 十六进制到字节集(文本 十六进制)
  • 说明:将十六进制文本解析为字节集。
  • 参数一│文本 十六进制: 如 “DEADBEEF” 或 “DE AD BE EF”。

字节集创建

  • 签名:字节集创建(整数 长度, [整数 填充值=0])
  • 说明:创建指定长度的字节集。
  • 参数一│整数 长度: 字节个数。
  • 参数二│[整数 填充值=0]: 每个字节的初始值(0~255)。

字节集删除

  • 签名:无 字节集删除(字节集 数据, 整数 索引, [整数 长度=1])
  • 说明:从字节集中删除指定范围的字节。
  • 参数一│字节集 数据: 目标字节集。
  • 参数二│整数 索引: 删除起始位置(从 0 起)。
  • 参数三│[整数 长度=1]: 删除的字节数。

字节集到十六进制

  • 签名:文本 字节集到十六进制(字节集 数据, [文本 分隔符=""])
  • 说明:将字节集格式化为十六进制文本。
  • 参数一│字节集 数据: 源字节集。
  • 参数二│[文本 分隔符=”“]: 字节间插入的分隔符,如 ” ” 或 “:”。

字节集到整数

  • 签名:整数 字节集到整数(字节集 数据, [整数 起始=0], [整数 长度=4], [整数 方式=1])
  • 说明:将字节集按指定方式解释为整数。
  • 参数一│字节集 数据: 源字节集。
  • 参数二│[整数 起始=0]: 起始字节索引。
  • 参数三│[整数 长度=4]: 参与转换的字节数(1/2/4/8)。
  • 参数四│[整数 方式=1]: 1=小端,2=大端。

字节集到文本

  • 签名:文本 字节集到文本(字节集 数据, [整数 编码=1])
  • 说明:将字节集按编码解码为文本。
  • 参数一│字节集 数据: 源字节集。
  • 参数二│[整数 编码=1]: 1=UTF-8(默认),2=UTF-16,3=GBK,4=ASCII。

字节集包含

  • 签名:逻辑 字节集包含(字节集 数据, 字节集 子集)
  • 说明:判断字节集是否包含指定子字节集。
  • 参数一│字节集 数据: 源字节集。
  • 参数二│字节集 子集: 欲检测的子串。

字节集反转

  • 签名:无 字节集反转(字节集 数据)
  • 说明:反转字节集中字节的顺序。
  • 参数一│字节集 数据: 目标字节集。

字节集取值

  • 签名:整数 字节集取值(字节集 数据, 整数 索引)
  • 说明:按索引取出字节(0~255,索引从 0 起)。
  • 参数一│字节集 数据: 源字节集。
  • 参数二│整数 索引: 从 0 开始的字节下标。

字节集合并

  • 签名:字节集合并(字节集 字节集一, 字节集 字节集二)
  • 说明:将两个字节集首尾相接合并。
  • 参数一│字节集 字节集一: 前段字节集。
  • 参数二│字节集 字节集二: 后段字节集。

字节集填充

  • 签名:无 字节集填充(字节集 数据, 整数 值, [整数 起始=0], [整数 长度=0])
  • 说明:用指定字节填充字节集的区间。
  • 参数一│字节集 数据: 目标字节集。
  • 参数二│整数 值: 0~255 的填充字节。
  • 参数三│[整数 起始=0]: 填充起始索引。
  • 参数四│[整数 长度=0]: 填充长度;0 表示从起始至末尾。

字节集复制

  • 签名:字节集复制(字节集 数据)
  • 说明:复制一份字节集副本。
  • 参数一│字节集 数据: 源字节集。

字节集截取

  • 签名:字节集截取(字节集 数据, 整数 起始, [整数 长度=0])
  • 说明:截取字节集的子区间。
  • 参数一│字节集 数据: 源字节集。
  • 参数二│整数 起始: 起始索引(从 0 起)。
  • 参数三│[整数 长度=0]: 截取长度;0 表示至末尾。

字节集插入

  • 签名:无 字节集插入(字节集 数据, 整数 索引, 整数 值)
  • 说明:在指定索引处插入一个字节,其后字节后移。
  • 参数一│字节集 数据: 目标字节集。
  • 参数二│整数 索引: 插入位置(从 0 起)。
  • 参数三│整数 值: 0~255 的字节值。

字节集替换

  • 签名:无 字节集替换(字节集 数据, 字节集 旧子集, 字节集 新子集)
  • 说明:将字节集中首次出现的旧子集替换为新子集。
  • 参数一│字节集 数据: 目标字节集。
  • 参数二│字节集 旧子集: 被替换的子串。
  • 参数三│字节集 新子集: 替换后的子串。

字节集查找

  • 签名:整数 字节集查找(字节集 数据, 整数 字节值, [整数 起始=0])
  • 说明:在字节集中查找指定字节的首次出现位置。
  • 参数一│字节集 数据: 源字节集。
  • 参数二│整数 字节值: 0~255 的查找目标。
  • 参数三│[整数 起始=0]: 查找起始索引。

字节集查找字节集

  • 签名:整数 字节集查找字节集(字节集 数据, 字节集 子集, [整数 起始=0])
  • 说明:在字节集中查找子字节集的首次出现位置。
  • 参数一│字节集 数据: 源字节集。
  • 参数二│字节集 子集: 欲查找的子串。
  • 参数三│[整数 起始=0]: 查找起始索引。

字节集校验和

  • 签名:整数 字节集校验和(字节集 数据, [整数 方式=1])
  • 说明:计算字节集的校验和。
  • 参数一│字节集 数据: 源字节集。
  • 参数二│[整数 方式=1]: 1=累加和,2=异或,3=CRC8。

字节集添加

  • 签名:无 字节集添加(字节集 数据, 整数 值)
  • 说明:在字节集末尾追加一个字节。
  • 参数一│字节集 数据: 目标字节集。
  • 参数二│整数 值: 0~255 的字节值。

字节集清空

  • 签名:无 字节集清空(字节集 数据)
  • 说明:清空字节集全部内容。
  • 参数一│字节集 数据: 目标字节集。

字节集相等

  • 签名:逻辑 字节集相等(字节集 字节集一, 字节集 字节集二)
  • 说明:判断两个字节集内容是否完全相同。
  • 参数一│字节集 字节集一: 第一个字节集。
  • 参数二│字节集 字节集二: 第二个字节集。

字节集置值

  • 签名:无 字节集置值(字节集 数据, 整数 索引, 整数 值)
  • 说明:设置字节集指定位置的字节。
  • 参数一│字节集 数据: 目标字节集。
  • 参数二│整数 索引: 从 0 开始的字节下标。
  • 参数三│整数 值: 0~255 的字节值。

字节集长度

  • 签名:整数 字节集长度(字节集 数据)
  • 说明:返回字节集的字节个数。
  • 参数一│字节集 数据: 源字节集。

整数到字节集

  • 签名:字节集 整数到字节集(整数 数值, [整数 长度=4], [整数 方式=1])
  • 说明:将整数转换为指定长度的字节集。
  • 参数一│整数 数值: 源整数。
  • 参数二│[整数 长度=4]: 输出字节数(1/2/4/8)。
  • 参数三│[整数 方式=1]: 1=小端,2=大端。

文本到字节集

  • 签名:字节集 文本到字节集(文本 内容, [整数 编码=1])
  • 说明:将文本按编码转换为字节集。
  • 参数一│文本 内容: 源文本。
  • 参数二│[整数 编码=1]: 1=UTF-8(默认),2=UTF-16,3=GBK,4=ASCII。

兼容旧名

本分类共 2 条。

字节集从十六进制

  • 签名:字节集从十六进制(文本 十六进制)
  • 说明:【兼容】等价于 十六进制到字节集。
  • 参数一│文本 十六进制: 如 “DEADBEEF” 或 “DE AD BE EF”。

字节集从文本

  • 签名:字节集从文本(文本 内容, [整数 编码=1])
  • 说明:【兼容】等价于 文本到字节集。
  • 参数一│文本 内容: 源文本。
  • 参数二│[整数 编码=1]: 1=UTF-8(默认),2=UTF-16,3=GBK,4=ASCII。

易错对照

错误 正确
查找未找到当 0 返回 -1
下标从 1 从 0
用本页做 GBK↔UTF-8 用编码支持库字节集 API

相关

类型转换 · 编码支持库 · 字节流支持库