Java String Encode encodeString(String s, String charset)

Here you can find the source of encodeString(String s, String charset)

Description

Encodes a string into Base64 format.

License

Apache License

Parameter

Parameter Description
s a String to be encoded.
charset when convert string to byte arrat use this charset

Exception

Parameter Description

Return

A String with the Base64 encoded data.

Declaration

public static String encodeString(String s, String charset) throws UnsupportedEncodingException 

Method Source Code


//package com.java2s;
/*/*from  w ww . j a va 2 s . c  o m*/
 * Copyright 2011 Alexander V. Zinin
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.io.UnsupportedEncodingException;

public class Main {
    private static final String DEFAULT_CHARSET = "utf-8";
    private static char[] map1 = new char[64];

    /**
     * Encodes a string into Base64 format.
     * No blanks or line breaks are inserted.
     *
     * @param s       a String to be encoded.
     * @param charset when convert string to byte arrat use this charset
     *
     * @return A String with the Base64 encoded data.
     *
     * @throws java.io.UnsupportedEncodingException
     *          if specified charset not supported
     */
    public static String encodeString(String s, String charset) throws UnsupportedEncodingException {
        return new String(encode(s.getBytes(charset)));
    }

    /**
     * Invoke {@link Base64Util#encodeString(String, String)} with {@link Base64Util#DEFAULT_CHARSET}
     *
     * @param s a String to be encoded.
     *
     * @return A String with the Base64 encoded data.
     */
    public static String encodeString(String s) {
        try {
            return encodeString(s, DEFAULT_CHARSET);
        } catch (UnsupportedEncodingException e) {
            throw new RuntimeException(e);
        }
    }

    /**
     * Encodes a byte array into Base64 format.
     * No blanks or line breaks are inserted.
     *
     * @param in an array containing the data bytes to be encoded.
     *
     * @return A character array with the Base64 encoded data.
     */
    public static char[] encode(byte[] in) {
        return encode(in, in.length);
    }

    /**
     * Encodes a byte array into Base64 format.
     * No blanks or line breaks are inserted.
     *
     * @param in   an array containing the data bytes to be encoded.
     * @param iLen number of bytes to process in <code>in</code>.
     *
     * @return A character array with the Base64 encoded data.
     */
    public static char[] encode(byte[] in, int iLen) {
        int oDataLen = (iLen * 4 + 2) / 3; // output length without padding
        int oLen = ((iLen + 2) / 3) * 4; // output length including padding
        char[] out = new char[oLen];
        int ip = 0;
        int op = 0;
        while (ip < iLen) {
            int i0 = in[ip++] & 0xff;
            int i1 = ip < iLen ? in[ip++] & 0xff : 0;
            int i2 = ip < iLen ? in[ip++] & 0xff : 0;
            int o0 = i0 >>> 2;
            int o1 = ((i0 & 3) << 4) | (i1 >>> 4);
            int o2 = ((i1 & 0xf) << 2) | (i2 >>> 6);
            int o3 = i2 & 0x3F;
            out[op++] = map1[o0];
            out[op++] = map1[o1];
            out[op] = op < oDataLen ? map1[o2] : '=';
            op++;
            out[op] = op < oDataLen ? map1[o3] : '=';
            op++;
        }
        return out;
    }
}

Related

  1. encodeString(String myString)
  2. encodeString(String s)
  3. encodeString(String s)
  4. encodeString(String s, boolean useUnicode)
  5. encodeString(String s, Integer size)
  6. encodeString(String sourceString, String sysCharset, String charset)
  7. encodeString(String str)
  8. encodeString(String strData)
  9. encodeString(String text, String charsetName)