二进制数据与字符串提取与转换

从二进制数据中提取一个字符串:

int bs; //bs是二进制数据的句柄
bs=newbin(16);  //创建一个16字节的二进制数据,返回bs句柄
defbin(bs,0,"00 01 41 42 43 00 00 0A 00 0B 00 10 00 12 00 14");//赋值
str s;
s=getbinstr(bs,2,4); //从bs对应的二进制数据2号位开始取4个字符串
echo(s);    //ABC

将一个字符串写入二进制数据:

int bs; //bs是二进制数据的句柄
bs=newbin(16);  //创建一个16字节的二进制数据,返回bs句柄
defbin(bs,0,"00 01 41 42 43 00 00 0A 00 0B 00 10 00 12 00 14");//赋值
str s;
s="123";
setbinstr(bs,2,s);  //从2号位置写入字符串"123";
echo("\r\n");
echo(getbin(bs,2));echo("\r\n");    //asc码49,数字'1'
echo(getbin(bs,3));echo("\r\n");
echo(getbin(bs,4));echo("\r\n");
echo(getbin(bs,5));echo("\r\n");

执行结果:

sHMIctrl System Run......

49
50
51
0