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函数的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did30663