diff --git a/png2uri b/png2uri
index 8feba9d..d14ffdc 100755
--- a/png2uri
+++ b/png2uri
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# png2uri version 1.0.3, July 5, 2012.
+# png2uri version 1.0.4, July 6, 2012.
 #
 # NO COPYRIGHT RIGHTS ARE CLAIMED TO THIS SOFTWARE.
 #
@@ -40,15 +40,29 @@
 #                 omit the surrounding "img" tag and only write the
 #                 data URI.
 #
-# Requires /bin/sh and a uuencode(1) that takes the "-m" option to mean
-# to encode in base64 according to RFC-3548, and a working "sed".
+# Requires /bin/sh and a "base64" or "uuencode -m" that encodes its input
+# in base64 according to RFC-3548 and writes the result on standard output,
+# "uname", and a working "sed".
 #
 # If you prefer a web-based converter or a java application, this isn't
 # it. Use your search engine and look for "data uri" to find one.
 #
+# I guess we need a "configure" script to figure out which of base64(1)
+# or uuencode(1) to use, since neither is always present (uuencode must
+# be installed as part of "sharutils" on Gnu/Linux platforms, which often
+# hasn't happened). Here is a minimal "configure":
 
-PNG2URI_URI="true"
+case X`uname` in
+  XLinux)
+    PNG2URI_BASE64=use_base64
+    ;;
+  *)
+    PNG2URI_BASE64=use_uuencode
+    ;;
+esac
+
 PNG2URI_FMT="unknown"
+PNG2URI_URI="true"
 
 while true
 do
@@ -96,12 +110,26 @@
       case X$PNG2URI_URI in
         Xfalse)
           echo "data:$PNG2URI_FMT;base64,"
-          uuencode -m ==== | grep -v ====
+          case X$PNG2URI_BASE64 in
+            Xuse_base64)
+              base64
+              ;;
+            Xuse_uuencode)
+              uuencode -m ==== | grep -v ====
+              ;;
+          esac
           ;;
 
         *)
           echo "<img alt=\"PNG\" title=\"PNG\" src=\"data:$PNG2URI_FMT;base64,"
-          uuencode -m ==== | grep -v ====
+          case X$PNG2URI_BASE64 in
+            Xuse_base64)
+              base64
+              ;;
+            Xuse_uuencode)
+              uuencode -m ==== | grep -v ====
+              ;;
+          esac
           echo "\">"
           ;;
       esac
@@ -134,11 +162,25 @@
       case X$PNG2URI_URI in
         Xfalse)
             echo "data:$PNG2URI_FMT;base64,"
-            uuencode -m $1 ==== | grep -v ====
+            case X$PNG2URI_BASE64 in
+              Xuse_base64)
+                base64 < $1
+                ;;
+              Xuse_uuencode)
+                uuencode -m $1 ==== | grep -v ====
+                ;;
+            esac
             ;;
         *)
             echo "<img alt=\"$1\" title=\"$1\" src=\"data:$PNG2URI_FMT;base64,"
-            uuencode -m $1 ==== | grep -v ====
+            case X$PNG2URI_BASE64 in
+              Xuse_base64)
+                base64 < $1
+                ;;
+              Xuse_uuencode)
+                uuencode -m $1 ==== | grep -v ====
+                ;;
+            esac
             echo "\">"
             ;;
       esac
diff --git a/png2uri-README.txt b/png2uri-README.txt
index 19e4823..c91d7c0 100644
--- a/png2uri-README.txt
+++ b/png2uri-README.txt
@@ -38,9 +38,14 @@
                  omit the surrounding "img" tag and only write the
                  data URI.
 
- Requires /bin/sh and a uuencode(1) that takes the "-m" option to mean
- to encode in base64.  A surprising number of machines that I've tried
- (3 out of 9) don't have uuencode installed.
+ Requires /bin/sh and a base64(1) that encodes its input in base64
+ according to RFC-3548 and writes the result on standard output, and
+ a working "sed".  Versions 1.0.0 through 1.0.3 used uuencode(1) instead
+ of base64(), but a surprising number of machines that I've tried
+ (5 out of 11) don't have uuencode installed, while all 11 had base64(1)
+ which is a "core utility" rather than a "shar utility".  Using base64()
+ has an additional advantage that the lines are always folded to the same
+ width, 76 characters wide, while uuencode sometimes writes shorter lines.
 
  REFERENCES:
     http://en.wikipedia.org/wiki/Data_URI_scheme
@@ -99,47 +104,62 @@
       of name conflict, and changed "uri_only" to PNG2URI_URI.  Fixed some
       indentation.
 
+   Version 1.0.4, July 6, 2012:
+
+      Use "base64" instead of "uuencode" when "uname" returns "Linux" to
+      generate the output, because "base64" seems to be more prevalently
+      available. On Gnu/Linux platforms, uuencode must be installed as part
+      of "sharutils", which often doesnn't happen.  SunOS and FreeBSD don't
+      supply "base64" so we use "uuencode" instead.
+
  TO DO
 
- 1. Test on various platforms. The following have been tried
+ 1. Test on various other platforms. I assume we'll soon find one that has
+    neither "uuencode" nor "base64".  The following have been tried
 
-    Ubuntu 10.04 (data is folded to 60 characters)
+    Ubuntu 10.04 (uuencode output was folded to 60 characters)
        Linux glenn.rp 2.6.32-41-generic #91-Ubuntu SMP Wed Jun 13 11:43:55
           UTC 2012 x86_64 GNU/Linux
        Linux nancy.rp 2.6.32-41-generic #91-Ubuntu SMP Wed Jun 13 11:43:55
           UTC 2012 x86_64 GNU/Linux (uuencode not found.  Fixed that with
-          "sudo aptitude install sharutils", then data folded to 60 chars)
+          "sudo aptitude install sharutils", then finally fixed by using
+          base64() instead of uuencode())
 
-    Ubuntu 12.04 (FAILED: uuencode not found but manpage for POSIX uuencode
-    exists)
+    Ubuntu 12.04 (uuencode not found but manpage for POSIX uuencode exists;
+       base64 works)
        Linux scooby 3.0.0-22-generic #36-Ubuntu SMP Tue Jun 12 17:37:42 UTC 2012
           x86_64 x86_64 x86_64 GNU/Linux
 
-    SunOS 5.10 (data is folded to 68 characters)
+    SunOS 5.10 (uuencode data is folded to 68 characters)
+       Does not work with "base64"!  Reconfigured png2uri to use "uuencode".
+       on non-Linux platforms.
        SunOS freddy 5.10 Generic_147441-13 i86pc i386 i86pc
        SunOS blade 5.10 Generic_144488-12 sun4u sparc SUNW,Sun-Blade-2500
 
-    Sunos 5.11 (data is folded to 68 characters)
+    Sunos 5.11 (uuencode data is folded to 68 characters)
        SunOS weerd 5.11 oi_151a4 i86pc i386 i86pc
 
-    FreeBSD 8.0 (data is folded to 76 characters)
+    FreeBSD 8.0 (uuencode data is folded to 76 characters)
+       "base64 not found"; use uuencode.
        FreeBSD shaggy.simplesystems.org 8.0-RELEASE-p1 FreeBSD 8.0-RELEASE-p1
            #1: Mon Dec 21 11:26:14 CST 2009
            zsh@shaggy.simplesystems.org:/usr/src/sys/i386/compile/GENERIC
            i386
 
-    Red Hat? (FAILED: uuencode not found but manpage for POSIX uuencode
-    exists)
+    Red Hat? (uuencode not found but manpage for POSIX uuencode
+    exists; worked when base64 was used instead of uuencode)
        Linux studio.imagemagick.org 2.6.18-308.4.1.el5xen #1 SMP Tue Apr 17
            17:49:15 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
        Linux magick.imagemagick.org 3.4.4-3.fc17.x86_64 #1 SMP Tue Jun 26
            20:54:56 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
+       Two other Redhat Enterprise platforms also worked with base64, but
+           uuencode was not installed.
 
  2. Find out if the script works on Windows and Mac or can be modified to
  do so.
 
  3. Make it work as a drag-and-drop application.
 
- 4. But keep it simple!
+ 4. But keep it simple! 
 
 */
