getAscill(
$str
);
function
getAscill(
$str
)
{
$arr
=
str_split
(
$str
);
foreach
(
$arr
as
$v
)
{
echo
$v
,"=",ord(
$v
),"\n";
}
echo
"=============\r\n\r\n";
}
?>
通过上面实例,我们可以看到,相同字符串,用不同格式存储,所占用的字节数不同。
这里也可以看到,以不同格式保存字符可以达存储节省空间。而且启到不可读加密效果。
突然想到一点,设计数据库字段类型问题,如果一个字段只是:10 位长度整型。我们设
置为整形:256*256*256*256 就 4 个字节,如果设置为 10 个长度字符串。那就占 10 个字
节。整个消化空间就是 2
倍的。 设置正确字符类型对提高数据库性能有很多帮助。呵呵,
……
有点跑题了
php
处理字节码通讯实例分析
刚刚说的 pack
作用:节省空间、加密格式
下面就这 2
个做一个实例说明,接口开发要求:
参数 描述
用户名 20
字节,字符型
密码 10
字节,字符型
年龄 1 字节,无符 char
型
出生年月 4 字节,整型(19800101
)
邮箱 50
字节,字符串
各字段间用:"\0"
分割
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("\0",packByArr(
$code
));
echo
$stream
,
strlen
(
$stream
);