note 63270 added to function.base64-encode
| From: | GabrielMalca at osu1 dot php dot net | Date: | Fri, 17 Mar 2006 21:45:25 +0000 |
| Subject: | note 63270 added to function.base64-encode | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-106001@lists.php.net to get a copy of this message | ||
If the function doesn't exist, this is a messy but effective way of doing it:
<?
echo bencode("Gabriel Malca");
// R2FicmllbCBNYWxjYQ==
function bencode($string='') {
$binval = convert_binary_str($string);
$final = "";
$start = 0;
while ($start < strlen($binval)) {
if (strlen(substr($binval,$start)) < 6)
$binval .= str_repeat("0",6-strlen(substr($binval,$start)));
$tmp = bindec(substr($binval,$start,6));
if ($tmp < 26)
$final .= chr($tmp+65);
elseif ($tmp > 25 && $tmp < 52)
$final .= chr($tmp+71);
elseif ($tmp == 62)
$final .= "+";
elseif ($tmp == 63)
$final .= "/";
elseif (!$tmp)
$final .= "A";
else
$final .= chr($tmp-4);
$start += 6;
}
if (strlen($final)%4>0)
$final .= str_repeat("=",4-strlen($final)%4);
return $final;
}
function convert_binary_str($string) {
if (strlen($string)<=0) return;
$tmp = decbin(ord($string[0]));
$tmp = str_repeat("0",8-strlen($tmp)).$tmp;
return $tmp.convert_binary_str(substr($string,1));
}
?>
----
Server IP: 66.163.161.117
Probable Submitter: 202.7.166.171 (proxied: 60.240.46.241)
----
X-Spam-Status: No, hits=3.1 required=5.0 tests=DATE_MISSING,FROM_NO_LOWER
autolearn=no version=2.64
----
Manual Page -- http://www.php.net/manual/en/function.base64-encode.php
Edit -- http://master.php.net/note/edit/63270
Del: integrated -- http://master.php.net/note/delete/63270/integrated
Del: useless -- http://master.php.net/note/delete/63270/useless
Del: bad code -- http://master.php.net/note/delete/63270/bad+code
Del: spam -- http://master.php.net/note/delete/63270/spam
Del: non-english -- http://master.php.net/note/delete/63270/non-english
Del: in docs -- http://master.php.net/note/delete/63270/in+docs
Del: other reasons-- http://master.php.net/note/delete/63270
Reject -- http://master.php.net/note/reject/63270
Search -- http://master.php.net/manage/user-notes.php