好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php 打印出字符串的16进制 - php函数

php 打印出字符串的16进制

下面这个函数是一个php 打印出字符串的16进制实例,这里面的核心函数就是 chr获取二进制然后再进行转成16进制数,代码如下:

<?php   /*    php 打印出字符串的16进制数据    */   function  hex_dump( $data ,  $newline = "n" )   {      static   $from  =  '' ;      static   $to  =  '' ;          static   $width  = 16; # number of bytes per line          static   $pad  =  '.' ; # padding  for  non-visible characters          if  ( $from === '' )     {        for  ( $i =0;  $i <=0xFF;  $i ++)       {          $from  .=  chr ( $i );          $to  .= ( $i  >= 0x20 &&  $i  <= 0x7E) ?  chr ( $i ) :  $pad ;       }     }          $hex  =  str_split (bin2hex( $data ),  $width *2);      $chars  =  str_split ( strtr ( $data ,  $from ,  $to ),  $width );          $offset  = 0;      foreach  ( $hex   as   $i  =>  $line )     {        echo  sprintf( '%6X' , $offset ). ' : ' .implode( ' ' ,  str_split ( $line ,2)) .  ' ['  .  $chars [ $i ] .  ']'  .  $newline ;        $offset  +=  $width ;     }   }       $info = "this is a testx00x99hex_dump" ;   print_r(hex_dump( $info ));   /*    输出结果:         0 : 74 68 69 73 20 69 73 20 61 20 74 65 73 74 00 99 [this is a test..]         10 : 68 65 78 5f 64 75 6d 70 [hex_dump]    */   ?> 

查看更多关于php 打印出字符串的16进制 - php函数的详细内容...

  阅读:42次