Java UTF from toUtf8ByteArray(String source)

Here you can find the source of toUtf8ByteArray(String source)

Description

Converts a String to a UTF-8 byte array

License

Open Source License

Parameter

Parameter Description
source String

Return

String as bytes

Declaration

public static byte[] toUtf8ByteArray(String source) 

Method Source Code

//package com.java2s;
/*/* w w  w  .  j  a v  a2  s. co m*/
 * Copyright 2009 Robert "kebernet" Cooper
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 */

public class Main {
    /**
     * Converts a String to a UTF-8 byte array
     * @param source String
     * @return String as bytes
     */
    public static byte[] toUtf8ByteArray(String source) {
        byte[] bytes = new byte[source.length()];
        byte[] four = new byte[4];

        for (int i = 0; i < source.length(); i++) {
            intToByteArray(four, (int) source.charAt(i));

            if (four[2] > 0) {
                throw new RuntimeException("Encoding not valid for string. Try UTF-8");
            }

            bytes[i] = four[3];
        }

        return bytes;
    }

    private static void intToByteArray(byte[] bytes, int i) {
        bytes[0] = (byte) (i >> 24);
        bytes[1] = (byte) ((i << 8) >> 24);
        bytes[2] = (byte) ((i << 16) >> 24);
        bytes[3] = (byte) ((i << 24) >> 24);
    }
}

Related

  1. toUTF8(String s, String encoding)
  2. toUTF8(String str)
  3. toUTF8(String string)
  4. toUtf8(String texto)
  5. toUTF8ByteArray(String s)
  6. toUtf8Code(char utf16)
  7. toUtf8Codes(String str)
  8. toUTF8FromLatin1(byte[] outputBuffer, String string)
  9. toUTF8k(String in)