Java String convert byte array to Strings using UTF-8 encoding
//package com.demo2s; import java.io.UnsupportedEncodingException; public class Main { public static void main(String[] argv) throws Exception { byte[] ba = new byte[] { 34, 35, 36, 37, 37, 37, 67, 68, 69 }; System.out.println(bytesToUtf8(ba)); }//from w w w. jav a2 s .c om /** * Convert a byte array to a String using UTF-8 encoding. * * @return the decoded String or null if ba is null */ public static String bytesToUtf8(final byte[] ba) { // UTF-8 should always be supported return bytesToEncoding(ba, "UTF8"); } /** * Convert a byte array to a String using the specified encoding. * @param encoding the encoding to use * @return the decoded String or null if ba is null */ private static String bytesToEncoding(final byte[] ba, final String encoding) { if (ba == null) { return null; } try { return new String(ba, encoding); } catch (final UnsupportedEncodingException e) { throw new Error(encoding + " not supported! Original exception: " + e); } } }
//package com.demo2s; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] argv) throws Exception { byte[] bytes = new byte[] { 34, 35, 36, 37, 37, 37, 67, 68, 69 }; System.out.println(bytesToStringList(bytes)); }//from ww w. ja va2 s.c o m /** * Convert an array of bytes into a List of Strings using UTF-8. A line is * considered to be terminated by any one of a line feed ('\n'), a carriage * return ('\r'), or a carriage return followed immediately by a linefeed.<p/> * * Can be used to parse the output of * * @param bytes the array to convert * @return A new mutable list containing the Strings in the input array. The * list will be empty if bytes is empty or if it is null. */ public static List<String> bytesToStringList(byte[] bytes) { List<String> lines = new ArrayList<String>(); if (bytes == null) { return lines; } BufferedReader r = null; try { r = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(bytes), "UTF-8")); } catch (UnsupportedEncodingException e) { // If UTF-8 is not supported we are in big trouble. throw new RuntimeException(e); } try { try { for (String line = r.readLine(); line != null; line = r.readLine()) { lines.add(line); } } finally { r.close(); } } catch (IOException e) { // I can't think of a reason we'd get here. throw new RuntimeException(e); } return lines; } }