Building Cloud Expertise with centron - Our Tutorials

Whether you are a beginner or an experienced professional, our practical tutorials provide you with the knowledge you need to make the most of our cloud services.

String to Byte Array and Byte Array to String Conversion in Java

Today we will learn how to convert String to byte array in java. We will also learn how to convert byte array to String in Java.

String to Byte Array

We can use String class getBytes() method to encode the string into a sequence of bytes using the platform’s default charset. This method is overloaded and we can also pass Charset as argument. Here is a simple program showing how to convert it in java.

package com.journaldev.util;

        import java.util.Arrays;

        public class StringToByteArray {

            public static void main(String[] args) {
                String str = "PANKAJ";
                byte[] byteArr = str.getBytes();
                // print the byte[] elements
                System.out.println("String to byte array: " + Arrays.toString(byteArr));
            }
        }

We can also get it using the below code.

byte[] byteArr = str.getBytes("UTF-8");

However if we provide Charset name, then we will have to either catch UnsupportedEncodingException exception or throw it. Better approach is to use StandardCharsets class introduced in Java 1.7 as shown below.

byte[] byteArr = str.getBytes(StandardCharsets.UTF_8);

That’s all the different ways to convert String to byte array in java.

Java Byte Array to String

Let’s look at a simple program showing how to convert byte array to String in Java.

package com.journaldev.util;

        public class ByteArrayToString {

            public static void main(String[] args) {
                byte[] byteArray = { 'P', 'A', 'N', 'K', 'A', 'J' };
                byte[] byteArray1 = { 80, 65, 78, 75, 65, 74 };

                String str = new String(byteArray);
                String str1 = new String(byteArray1);

                System.out.println(str);
                System.out.println(str1);
            }
        }

Did you notice that I am providing char while creating the byte array? It works because of autoboxing and char ‘P’ is being converted to 80 in the byte array. That’s why the output is the same for both conversions. String also has a constructor where we can provide byte array and Charset as an argument. So below code can also be used.

String str = new String(byteArray, StandardCharsets.UTF_8);

String class also has a method to convert a subset of it.

byte[] byteArray1 = { 80, 65, 78, 75, 65, 74 };
String str = new String(byteArray1, 0, 3, StandardCharsets.UTF_8);

Above code is perfectly fine and ‘str’ value will be ‘PAN’. That’s all about converting in Java.

Start Your Free Trial Now: Experience the Power of Our Cloud Solutions!

Ready to elevate your Java development to new heights? With our cloud platform, experience seamless integration and optimized processes for your String to ByteArray and ByteArray to String conversions.

Try for free!