Bytes


概述

字节流对象。javascript语言本身没有字节流的数据类型,此对象用于处理嵌入式系统中的各种字节流逻辑。


常量

数值类型

填充或获取字节流中的数值类型:

常量 说明
"1b" 数值按一个字节处理,即值范围是0~0xff
"2l" 数值按两个字节小端模式处理,即值范围是0~0xffff
"2b" 数值按两个字节大端模式处理,即值范围是0~0xffff
"4l" 数值按四个字节小端模式处理,即值范围是0~0xffffffff
"4b" 数值按四个字节大端模式处理,即值范围是0~0xffffffff
"fl" 数值按浮点数小端模式处理,数据占四个字节
"fb" 数值按浮点数大端模式处理,数据占四个字节
i3412 数值为双字整型,字节排序为3412,比如0x55667788,在字节流里为 77 88 55 66
i2143 数值为双字整型,字节排序为3412,比如0x55667788,在字节流里为 66 55 88 77
f3412 数值为浮点数,字节排序为3412,比如0x55667788,在字节流里为 77 88 55 66
f2143 数值为浮点数,字节排序为3412,比如0x55667788,在字节流里为 66 55 88 77

属性

length

获取字节流的长度

[n]

用于获取第n个字节的值,只可用于取值,不能置值,置值请下面函数。


函数

create

初始化一个Bytes对象,分配一个字节流缓冲区,初始化为全0

  • Bytes.create(size)
参数 必选 类型 说明
size true int 字节流缓冲区大小,受内存限制,建议尽量使用小于1k的字节流
return bytes 新字节流对象

seti

设置数值到字节流中

  • obj_bytes.seti(value [,pos [,type]])
参数 必选 类型 说明
value true int 设置的数值
pos false int 设置的位置,忽略则使用0
type false String 设置的数值类型,详见本节数据类型;忽略时使用"1b"
return null 无返回值

geti

从字节流中获取数值

  • obj_bytes.geti([pos [,type]])
参数 必选 类型 说明
pos false int 获取的位置,忽略则使用0
type false String 获取的数值类型,详见本节数据类型;忽略时使用"1b"
return int 结果数值

sets

设置字符串到字节流中

  • obj_bytes.sets(value [,pos [,len]])
参数 必选 类型 说明
value true String 设置的字符串
pos false int 设置的起始位置,忽略则使用0
len false int 设置内容的长度,如果len超过字符串长度则使用字符串长度;忽略也用字符串长度;填充内容超出字节流空间会被截断
return null 无返回值

gets

从字节流中获取字符串

  • obj_bytes.gets([pos [,len]])
参数 必选 类型 说明
pos false int 获取的起始位置
len false int 获取字符串的长度,如果该长度内有'\0',则字符串只到'\0'的位置;如果len超出字节流空间则只取到结尾
return String 结果字符串

sub

截取部分字节流

  • obj_bytes.sub([pos [,len]])
参数 必选 类型 说明
pos false int 截取的起始位置,忽略则为0
len false int 截取内容的长度,忽略则到字节流结尾
return bytes 截取结果

copy

复制字节流数据

  • obj_bytes.copy(obj_src [,pos_dst [,len [,pos_src]]])
参数 必选 类型 说明
obj_src true Bytes 源字节流对象
pos_dst false int 复制的目标起始位置,忽略则为0
len false int 复制内容的长度,忽略则为源字节流的长度;如果内容长度超过目的字节流空间,则截断剩余内容
pos_src false int 复制的源起始位置,忽略则为0
return bytes 截取结果

hex

格式化为十六进制字符串

  • obj_bytes.hex([capital])
参数 必选 类型 说明
capital false boolean 是否为大字,忽略为小字
return String 十六进制字符串