note 43261 added to function.base-convert

From: Date: Tue, 15 Jun 2004 22:05:46 +0000
Subject: note 43261 added to function.base-convert
Groups: php.notes 
Request: Send a blank email to php-notes+get-71123@lists.php.net to get a copy of this message
Here are some functions for converting integers to and from base 256. Converting to base 64 is simple given these. function to_base256($number, $from_base = 10) { $binary_number = base_convert($number, $from_base, 2); $final_string = ""; $new_length = (ceil(strlen($binary_number)/8)*8); $binary_number = str_pad($binary_number, $new_length, "0", STR_PAD_LEFT); for($i=($new_length-8); $i>=0; $i-=8) { $final_string = chr(base_convert(substr($binary_number, $i, 8), 2, 10)).$final_string; } return $final_string; } function from_base256($string, $to_base = 10) { $number = ""; for($i=0; $i<strlen($string); $i++) { $number .= str_pad(base_convert(ord($string{$i}), 10, 2), 8, "0", STR_PAD_LEFT); } return base_convert($number, 2, $to_base); } Yes, I know that this would be more efficient if it used mod instead of base_convert, but it needs to work with integers > 32 bits. ---- Manual Page -- http://www.php.net/manual/en/function.base-convert.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+43261 Delete -- http://master.php.net/manage/user-notes.php?action=delete+43261&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+43261&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#71123) next »