巅云智能建站平台搭建版(创业流派版)火爆上线,毕生受权!新增:文章智能收罗+全站真静态打包+都会分站+智能小法式+不法词过滤+H5自顺应+智能链词等功效功效概况
赞助文档Help

php park、unpark、ord 函数利用体例(二进制流接口利用实例)

一佰互联网站建造(www.taishanly.com) 宣布日期 2020-04-30 09:22:30 阅读数: 101

park,unpark,ord这3个函数,在咱们任务中,用到它们的估量未几。 我在比来一个任务中,由于通信须要用到二进制流,而后接口用php领受。那时在处置时辰,查阅不少材料。由于它们利用确切比拟少,也很少伴侣任务中会用到它们。 在任务中,我也逐步领会到park,unpark,ord对二进制字节处置的壮大。 下面我一一先容它们。

park,unpark,ord函数利用先容

park函数申明:本函数用来将材料紧缩打包到位的字符串当中。

 

语法:pack(format,args+)

参数 描写
format 必需。划定在包装数据时所利用的格局。
args+ 可选。划定被包装的一个或多个参数。

 

字符 申明
a 将字符串空缺以 NULL 字符填满
A 将字符串空缺以 SPACE 字符 (空格) 填满
h 十六进位字符串,低位在前
H 十六进位字符串,高位在前
c 有号字符
C 无号字符
s 有号短整数 (十六位,依计较机的位挨次)
S 无号短整数 (十六位,依计较机的位挨次)
n 无号短整数 (十六位, 高位在后的挨次)
v 无号短整数 (十六位, 低位在后的挨次)
i 有号整数 (依计较机的挨次及规模)
I 无号整数 (依计较机的挨次及规模)
l 有号长整数 (卅二位,依计较机的位挨次)
L 无号长整数 (卅二位,依计较机的位挨次)
N 无号短整数 (卅二位, 高位在后的挨次)
V 无号短整数 (卅二位, 低位在后的挨次)
f 单切确浮点数 (依计较机的规模)
d 倍切确浮点数 (依计较机的规模)
x 空位
X 倒回一名
@ 填入 NULL 字符到相对地位

 

unpark函数申明:本函数用来将位的字符串的材料解紧缩

语法:unpack(format,args+)

参数 描写
format 必需。划定在包装数据时所利用的格局。
args+ 可选。划定被包装的一个或多个参数。

参数与park不异。

ord函数申明:前往对应字符的acill码值

语法:ord($character);

实例申明:
复制代码 代码以下:
<?php
//A字符
$str=(pack("A*", "中国"));
echo $str,"=",strlen($str),"字节 ";
getAscill($str);
//H字符
$str=(pack("H*", "fffe"));
echo $str,"=",strlen($str),"字节 ";
getAscill($str);
//C字符
$str=(pack("C*", "55","56","57"));
echo $str,"=",strlen($str),"字节 ";
getAscill($str);

//i字符 短整形 32位 4个字节 64位8个字节
$str=(pack("i", "100"));
echo $str,"=",strlen($str),"字节 ";
getAscill($str);

//s字符 短整形 2个字节
$str=(pack("s", "100"));
echo $str,"=",strlen($str),"字节 ";
getAscill($str);

//l字符 长整形 4个字节
$str=(pack("l", "100"));
echo $str,"=",strlen($str),"字节 ";
getAscill($str);

//f字符 单精度浮点 4个字节
$str=(pack("f", "100"));
echo $str,"=",strlen($str),"字节 ";
getAscill($str);

//d字符 双精度浮点 8个字节
$str=(pack("d", "100"));
echo $str,"=",strlen($str),"字节 ";
getAscill($str);

function getAscill($str)
{
$arr=str_split($str);
foreach ($arr as $v)
{
echo $v,"=",ord($v)," ";
}
echo "============= ";
}


经由过程下面实例,咱们能够看到,不异字符串,用差别格局存储,所占用的字节数差别。 这里也能够看到,以差别格局保管字符能够达存储节流空间。并且启到不可读加密结果。 俄然想到一点,设想数据库字段范例题目,若是一个字段只是:10位长度整型。咱们设置为整形:256*256*256*256 就4个字节,若是设置为10个长度字符串。那就占10个字节。全部消化空间便是2倍的。 设置准确字符范例对进步数据库机能有良多赞助。呵呵,有点跑题了……

php处置字节码通信实例阐发
方才说的pack感化:节流空间、加密格局

下面就这2个做一个实例申明,接口开辟请求:

参数 描写
用户名 20字节,字符型
暗码 10字节,字符型
春秋 1字节,无符char型
诞生年代 4字节,整型(19800101)
邮箱 50字节,字符串
各字段间用:""朋分
A、PACK封包
复制代码 代码以下:
<?php
$code=array(
"username"=>array("A20","张三adfb12"),
"pass"=>array("A10","asdf*#1"),
"age"=>array("C","23"),
"birthday"=>array("I","19900101"),
"email"=>array("A50","zhangsan@163.com"));

$stream=join("",parkByArr($code));
echo $stream,strlen($stream);


复制代码 代码以下:
file_put_contents("c:/1.txt",$stream);//将流保管起来便于下面读取

function parkByArr($arr)
{
$atArr=array();
foreach ($arr as $k=>$v)
{
$atArr[]=pack($v[0],$v[1]);
}
return $atArr;
}
function getAscill($str)
{
$arr=str_split($str);
foreach ($arr as $v)
{
echo $v,"=",ord($v)," ";
}
}

由于用””朋分,全部长度是89字节。经由过程下面输入,有一些字符串输入是能够读取的,别的都已变成乱码了。这也是我说能够失密结果缘由。
B、Unpack解包
解包须要根据,打包体例读取,该读取多长,该用甚么范例读取,必须与打包划定一样。
复制代码 代码以下:
<?php
$code=array(
"username"=>array("A20"),
"pass"=>array("A10"),
"age"=>array("C"),
"birthday"=>array("I"),
"email"=>array("A50"));
$stream=file_get_contents("c:/1.txt");
var_dump(parkByArr($stream,$code));
function parkByArr($str,$code)
{
$Arr=explode("",$str);
$atArr=array();
$i=0;
foreach ($code as $k=>$v)
{
$atArr[$k]=unpack($v[0],$Arr[$i]);
$i++;
}
return $atArr;
}

一佰互联是天下着名建站品牌办事商,咱们有九年、网站建造、网页设想、php开辟和域名注册及假造主机办事经历,供给的办事更是天下着名。最近几年来还整合团队上风自立开辟了可视化多用户”“3.0平台版,拖拽排版网站建造设想,轻松完成pc站、手机微网站、小法式、APP一体化全网营销网站扶植 ,已胜利的为天下上百家收集公司供给自助建站平台搭建办事。

相干消息more

21
04月
css的content属性的详细利用

content属性普通用于::before、::after伪元素中,用于显现伪元素的内容。日常平凡content属性值咱们用的最多的便是给个纯字... >>概况

13
04月
对于校园网站扶植的几点思虑?

在信息时期,社会的高度国际化,信息化使黉舍也面对中深切的转变,传统的教导形式深受打击,以是收集讲授,长途讲授,教导资本同享的教导时期正向咱们... >>概况

15
04月
高端网站扶植-企业网站做好UEO对SEO优化

大师都晓得SEO对网站推行的感化,出格是企业网站,关头词能在各大搜刮引擎排名靠前,从而取得更多的流量,进步网站的着名度。网站关头词能排到各大... >>概况

16
03月
怎样注册域名,若何采办域名人程,域名注册网站

网站扶植注册域名先行是准绳.采办一个好的域名是做一个胜利网站的第一步。做为老手该怎样注册域名,若何采办域名,域名注册网站是甚么?等一系列题目... >>概况

高端网站扶植

美工统筹SEO,为企业电子商务营销助力!

德律风:

023-85725751
建站

产物

域名注册 假造主机 云办事器 企业邮局
智能建站 APP打包 微站/小法式 创业平台
网站推行 媒体营销 智能收罗 AI机械人
400德律风 短信营销 店销机械人
私家定制 流派网站