Linux系统下 宽字符处理的有关问题

Linux系统下 宽字符处理的问题
如题:
在Linux下  网络发送来数据是unsigned char数组存储 
内容: #SsDISPLINE3, <STX>S:001/320<ETX>  
其中黑色部分为 单字节字符 红色部分为Unicode 双字节字符 蓝色为特殊标记 <STX>为0x0D  <ETX>为0x0003 要获取的数据部分是红色部分 斜杠 前的数据和 后的数据 有可能是1到999的数字 也就是说不定长度  获取的数据 用来显示  这个数据 是数字 以后有可能会传汉字过来  现在不知道该怎么截取数据   大神最好说详细点 具体用到那个函数   折腾了两天不了  传过来的数据是双字节 Linux下 wchar_t是4字节 Linux系统下 宽字符处理的有关问题不知道该怎么弄了  把我所有的分全部献上 但求一解 
------解决思路----------------------
我觉得可以1个字符1个字符的遍历,碰到<就检查后续4字符是不是STX>,如果是,就记录后面的数据,直到碰到<符号
------解决思路----------------------
char buf0[100]={0},buf1[100]={0};
sscanf("<STX>S:001/320<ETX> ","%*[^>]%*[>]%[^/]%[/]%[^<]",buf0,buf1);
------解决思路----------------------
网络传输需要指定传输的字节数,没有字节数 你怎么分包,怎么解析?