note 42061 added to function.bin2hex

From: Date: Sat, 01 May 2004 12:18:00 +0000
Subject: note 42061 added to function.bin2hex
Groups: php.notes 
Request: Send a blank email to php-notes+get-69069@lists.php.net to get a copy of this message
Function that outputs binary data in a readable form. Useful for debugging. "Beefed up" version of what Aiden posted below. <?php $teststr = ""; for ( $i = 0; $i <= 255; $i++ ) $teststr .= chr( $i ); $teststr .= "blah"; print makehex( $teststr ); /* outputs 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F : ................ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F : ................ 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F : !"#$%&'()*+,-./ 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F : 0123456789:;<=>? 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F : @ABCDEFGHIJKLMNO 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F : PQRSTUVWXYZ[\]^_ 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F : `abcdefghijklmno *etc*, there was more but I think you get the idea */ function makehex( $data ) { $rawdat = $decdat = ""; $return = "<pre>"; $lines = array(); while ( $i * 16 < strlen( $data ) ) $lines[] = substr( $data, 16 * $i++, 16 ); foreach ( $lines as $line ) { for ( $i = 0; $i < strlen( $line ); $i++ ) { $rawdat .= sprintf( "%02X ", ord( $line{ $i } ) ); $decdat .= ( ord( $line{ $i } ) >= 32 ? $line{ $i } : "." ); } $return .= sprintf( "%-48s : %s\n", $rawdat, $decdat ); $rawdat = $decdat = ""; } return $return . "</pre>"; } ?> ---- Manual Page -- http://www.php.net/manual/en/function.bin2hex.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+42061 Delete -- http://master.php.net/manage/user-notes.php?action=delete+42061&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+42061&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#69069) next »