本仓库目前提供易语言与 PHP的实现作为参考用例,旨在提供一套简洁高效具备跨语言能力的数据二进制封包(FB)与解包(deFB)方案,便用于通信过程中实现统一的参数级交互。(封包中无需存储额外元信息)
x<?phpinclude 'FB.php';// 准备数据$a = 123; //int$b = 'hello'; //string// 生成封包(FB 将把字段编码为二进制格式)$fb = FB(i16($a), $b);// 输出封包的可读形式(解字节集十进制视图)echo "FB bytes: " . jzjj($fb) . "\n";// 解包示例(将封包还原到所有变量,需提前给定反射类型—脚本语言这里可用特定初值表示)$out_a = T_short;$out_b = T_String;deFB($fb, $out_a, $out_b);echo "解包结果:a={$out_a}, b={$out_b}\n";// 解包示例(对按索引读取)$first = gFB($fb, 0); //取第一个参数(按字节集)echo "参数1(原始):" .jzjj($first). "\n";$first_int = gFBi($fb, 0); //取第一个参数(按整数)echo "参数1(整型):" .$first_int. "\n";$second = gFB($fb, 1); //取第二个参数echo "参数2:" .$second. "\n";xxxxxxxxxx解包结果:a=123, b=hello参数1(原始):Bytes:2{123,0}参数1(整型):123参数2:hello

xxxxxxxxxx* 字节集:82{9,0,0,0,44,0,0,0,45,0,0,0,47,0,0,0,51,0,0,0,59,0,0,0,63,0,0,0,71,0,0,0,76,0,0,0,81,0,0,0,82,0,0,0,1,1,0,1,0,0,0,255,255,255,255,63,0,0,0,0,0,128,63,0,0,0,0,0,0,240,63,104,101,108,108,111,119,111,114,108,100,1}* 1 | 1 | 1 | 274877906943 | 1.000000 | 1.000000* “hello” | 字节集:5{119,111,114,108,100}* 真 | 字节集:1{1}* “——————————————————————————————————”* 1 | 1 | 1 | 274877906943 | 1.000000 | 1.000000* “hello” | 字节集:5{119,111,114,108,100}* 真
本项目的发布受Apache 2.0 license许可认证。