Base64 Command line Utility

Thrown together in PHP.

Usage:

Encode /path/to/base64 -e 'The quick brown fox'


/path/to/base64 'The quick brown fox'
Decode /path/to/base64 -d VGhlIHF1aWNrIGJyb3duIGZveA==
Help /path/to/base64 -h

Note that the script output is not succeeded by a newline, the reason being that I don't want to have to trim a newline every time I call this script from somewhere else.

Download source code

#!/usr/bin/php -q
<?php
  /* 
   * Simple Base64 encode/decode shell utility written in PHP
   * (C) 2004 by Andy Chase (achase@greyledge.net)
   * http://sundown.greyledge.net
   *
   * Feel free to use and redistribute this code in any way you see fit,
   * provided this notice remains in place.
   */

$action = '';
$string = '';
switch($_SERVER['argv'][1]){

 case '-e':
   $action = 'encode';
   $string = $_SERVER['argv'][2];
   break;
 case '-d':
   $action = 'decode';
   $string = $_SERVER['argv'][2];
   break;

 case '-h':
   $action = 'help';
   break;

 case '':
   $action = 'help';
   break;
 default:
   $action = 'encode';
   $string = $_SERVER['argv'][1];

}

switch($action){
 case 'encode':
   echo base64_encode($string);
   break;
 case 'decode':
   echo base64_decode($string);
   break;
 case 'help':
   echo "Usage: base64 [-edh] [string]\n\t-e\tBase64-encode [string]\n\t-d\tBase64-decode [string]\n \t-h\tDisplay this message.\n";

}

?>
Syndicate content

Twitter

  • Weirdness with #Drupal site time, server time, and format_date() applied to dates stored in the DB? Check MySQL's timezone too. 4 years 28 weeks ago
  • The key to #drupal's format_date() is that it assumes your timestamp is in sys time; adjust dates accordingly before invocation. 4 years 28 weeks ago
  • CRAP why did Ikea discontinue the Fira drawers? 4 years 28 weeks ago
  • Hey AT&T, what happened to my 3G signal? 4 years 28 weeks ago
  • Rene Raincourt singing the anthems. I can't help but think this is a good omen. #bruins #fb 4 years 28 weeks ago

Older

Contact

Andy Chase
(978) 297-6402
andychase [at] gmail.com
GPG/PGP Public Key