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

  • I don't think it gets much better than 'Revolver' on vinyl. 2 years 50 weeks ago
  • Have fun at #drupalcon everybody! I hate to break my 3 year streak, but I should be back next year... 3 years 19 weeks ago
  • Just made my first Drupal 7 module, 'Entity Relationships', official: http://bit.ly/h3xnPK #drupal #entities #module 3 years 20 weeks ago
  • Already set up my first #git sandbox project for #drupal: http://drupal.org/sandbox/usonian/1072422 3 years 21 weeks ago
  • Drupal.org is coming back online - just set up my SSH keys for #git. Huge props to the #drupal git migration team! 3 years 21 weeks ago

Older

Contact

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