字符串中只能包含字符,特殊符号不行。
//字符串转化为ascii
function
str2asc(
$str
)
{
$num = '' ;
while ( strlen ( $str ) != 0 )
{
$a = substr ( $str , 0 , 1 );
$num .= ord ( $a );
$str = substr ( $str , 1 , strlen ( $str ));
}
return $num ;
}
{
$num = '' ;
while ( strlen ( $str ) != 0 )
{
$a = substr ( $str , 0 , 1 );
$num .= ord ( $a );
$str = substr ( $str , 1 , strlen ( $str ));
}
return $num ;
}
//ascii转化为字符串
function
asc2str(
$num
)
{
$num = ( string ) $num ;
$str = '' ;
while ( strlen ( $num ) != 0 )
{
$a = (int) substr ( $num , 0 , 1 );
if ( $a > 2 )
{
$b = (int) substr ( $num , 0 , 2 );
$num = substr ( $num , 2 , strlen ( $num ));
} else
{
$b = (int) substr ( $num , 0 , 3 );
$num = substr ( $num , 3 , strlen ( $num ));
}
$str .= chr ( $b );
}
return $str ;
}
{
$num = ( string ) $num ;
$str = '' ;
while ( strlen ( $num ) != 0 )
{
$a = (int) substr ( $num , 0 , 1 );
if ( $a > 2 )
{
$b = (int) substr ( $num , 0 , 2 );
$num = substr ( $num , 2 , strlen ( $num ));
} else
{
$b = (int) substr ( $num , 0 , 3 );
$num = substr ( $num , 3 , strlen ( $num ));
}
$str .= chr ( $b );
}
return $str ;
}
示例:
echo str2asc( 'sfdsl ');
echo ' <br > ';
echo asc2str(str2asc( 'sfdsl '));
---------------------
115102100115108
sfdsl
注:调用asc2str( '123456 ') 不能asc2str(123456) ,也就是要将123456转化为字符串。