Quantcast
Channel: Crunchify
Viewing all articles
Browse latest Browse all 1037

In Java How to convert Byte[] Array To String and String to Byte[]?

$
0
0
In Java How to convert Byte[] Array To String and String to Byte[]?

How to convert Byte[] Array to String in Java? How to convert UTF-8 byte[] to string? Convert Java Byte Array to String to Byte Array.

String stores textual data and for storing binary data you would need byte[]. In ideal situation you would avoid using the same in your production ready build. Here is a code, just incase if you need to do conversion in your application from String to byte[] and vice versa.

There are multiple ways you could covert byte[] to String and String to byte[].

We will manipulate String and byte[] 5 different ways.

  1. Convert String to byte[] Array using getBytes()
  2. Convert String to byte[] Array using UTF_8 encoding
  3. Encode and Decode to String using Base64 encoding
  4. Convert Byte[] to String using new String()
  5. Convert Byte[] to String using UTF_8 encoding

toString() function on String object wont return actual string but only HashValue. Look for all comments mentioned in below Java program.

Java Code:

package crunchify.com.tutorials;

import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Base64;

/**
 * @author Crunchify.com
 * In Java How to convert Byte[] Array To String and String to Byte[]?
 * Version: 1.2
 */

public class CrunchifyByteArrayToString {
    public static void main(String[] args) throws UnsupportedEncodingException {

        // Method-1: Convert String to byte[] Array using getBytes()
        String crunchifyString = "Crunchify Example on Byte[] to String...";
        // getBytes() encodes this String into a sequence of bytes using the platform's
        // default charset, storing the result into a new byte array.
        byte[] crunchifyByte = crunchifyString.getBytes();

        System.out.println("crunchifyString : " + crunchifyString);
        // toString() Returns a string representation of the contents of the specified array.
        // The string representation consists of a list of the array's elements, enclosed in square brackets ("[]"). Adjacent elements are separated by the characters ", " (a comma followed by a space).
        // Elements are converted to strings as by String.valueOf(byte). Returns "null" if a is null.
        System.out.println("crunchifyByte : " + Arrays.toString(crunchifyByte));

        // Method-2: Convert String to byte[] Array using UTF_8 encoding
        String crunchifyString2 = "This is test for converting String to byte...!";
        byte[] crunchifyByte2 = crunchifyString2.getBytes(StandardCharsets.UTF_8);
        System.out.println("\ncrunchifyString2 : " + crunchifyString2);
        System.out.println("crunchifyByte2 : " + Arrays.toString(crunchifyByte2));

        // Method-3: Encode and Decode to String using Base64 encoding
        // encodeToString() Encodes the specified byte array into a String using the Base64 encoding scheme.
        // This method first encodes all input bytes into a base64 encoded byte array and then constructs
        // a new String by using the encoded byte array and the ISO-8859-1 charset.
        String crunchifyEncodedValue = Base64.getEncoder().encodeToString(crunchifyByte2);
        System.out.println("crunchifyByte2 encoded value : " + crunchifyEncodedValue);

        // decode() Decodes a Base64 encoded String into a newly-allocated byte array using the Base64 encoding scheme.
        // An invocation of this method has exactly the same effect as invoking decode(src.getBytes(StandardCharsets.ISO_8859_1))
        byte[] crunchifyByte3 = Base64.getDecoder().decode(crunchifyEncodedValue);
        System.out.println("crunchifyByte2 decoded value : " + Arrays.toString(crunchifyByte3));

        // Method-4: Convert Byte[] to String using new String()
        String crunchifyDecodedData = new String(crunchifyByte3);
        System.out.println("\nDecrypted String : " + crunchifyDecodedData);

        // Method-5: Convert Byte[] to String using UTF_8 encoding
        String decodedDataUsingUTF8;
        // UTF_8 is Eight-bit UCS Transformation Format.
        decodedDataUsingUTF8 = new String(crunchifyByte3, StandardCharsets.UTF_8);
        System.out.println("Text Decrypted using UTF-8 : " + decodedDataUsingUTF8);
    }
}

Eclipse console Output:

Just run above program as Java Application and you should see similar result.

crunchifyString : Crunchify Example on Byte[] to String...
crunchifyByte : [67, 114, 117, 110, 99, 104, 105, 102, 121, 32, 69, 120, 97, 109, 112, 108, 101, 32, 111, 110, 32, 66, 121, 116, 101, 91, 93, 32, 116, 111, 32, 83, 116, 114, 105, 110, 103, 46, 46, 46]

crunchifyString2 : This is test for converting String to byte...!
crunchifyByte2 : [84, 104, 105, 115, 32, 105, 115, 32, 116, 101, 115, 116, 32, 102, 111, 114, 32, 99, 111, 110, 118, 101, 114, 116, 105, 110, 103, 32, 83, 116, 114, 105, 110, 103, 32, 116, 111, 32, 98, 121, 116, 101, 46, 46, 46, 33]
crunchifyByte2 encoded value : VGhpcyBpcyB0ZXN0IGZvciBjb252ZXJ0aW5nIFN0cmluZyB0byBieXRlLi4uIQ==
crunchifyByte2 decoded value : [84, 104, 105, 115, 32, 105, 115, 32, 116, 101, 115, 116, 32, 102, 111, 114, 32, 99, 111, 110, 118, 101, 114, 116, 105, 110, 103, 32, 83, 116, 114, 105, 110, 103, 32, 116, 111, 32, 98, 121, 116, 101, 46, 46, 46, 33]

Decrypted String : This is test for converting String to byte...!
Text Decrypted using UTF-8 : This is test for converting String to byte...!

Process finished with exit code 0

Let me know if you see any issue running above program.

The post In Java How to convert Byte[] Array To String and String to Byte[]? appeared first on Crunchify.


Viewing all articles
Browse latest Browse all 1037

Trending Articles