background image

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

);