Add 'src/be/nikiroo/utils/' from commit '46add0670fdee4bd936a13fe2448c5e20a7ffd0a'
[nikiroo-utils.git] / src / be / nikiroo / utils / streams / Base64.java
index a4f1240aa6603109cf6fb14f17862dafaed59678..d54794b0a4ee2284bb1c691cb329aa52dd65fb47 100644 (file)
@@ -23,6 +23,8 @@ package be.nikiroo.utils.streams;
 
 import java.io.UnsupportedEncodingException;
 
+import be.nikiroo.utils.StringUtils;
+
 /**
  * Utilities for encoding and decoding the Base64 representation of
  * binary data.  See RFCs <a
@@ -120,12 +122,7 @@ class Base64 {
      * incorrect padding
      */
     public static byte[] decode(String str, int flags) {
-       try{
-               return decode(str.getBytes("UTF-8"), flags);
-       } catch (UnsupportedEncodingException e) {
-               // All conforming JVM are expected to support UTF-8
-               return null;
-       }
+               return decode(StringUtils.getBytes(str), flags);
     }
 
     /**
@@ -260,7 +257,8 @@ class Base64 {
          * @return an overestimate for the number of bytes {@code
          * len} bytes could decode to.
          */
-        public int maxOutputSize(int len) {
+        @Override
+               public int maxOutputSize(int len) {
             return len * 3/4 + 10;
         }
 
@@ -270,7 +268,8 @@ class Base64 {
          * @return true if the state machine is still healthy.  false if
          *         bad base-64 data has been detected in the input stream.
          */
-        public boolean process(byte[] input, int offset, int len, boolean finish) {
+        @Override
+               public boolean process(byte[] input, int offset, int len, boolean finish) {
             if (this.state == 6) return false;
 
             int p = offset;
@@ -606,11 +605,13 @@ class Base64 {
          * @return an overestimate for the number of bytes {@code
          * len} bytes could encode to.
          */
-        public int maxOutputSize(int len) {
+        @Override
+               public int maxOutputSize(int len) {
             return len * 8/5 + 10;
         }
 
-        public boolean process(byte[] input, int offset, int len, boolean finish) {
+        @Override
+               public boolean process(byte[] input, int offset, int len, boolean finish) {
             // Using local variables makes the encoder about 9% faster.
             final byte[] alphabet = this.alphabet;
             final byte[] output = this.output;
@@ -638,7 +639,7 @@ class Base64 {
                             ((input[p++] & 0xff) << 8) |
                             (input[p++] & 0xff);
                         tailLen = 0;
-                    };
+                    }
                     break;
 
                 case 2: