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
.
- Convert String to byte[] Array using getBytes()
- Convert String to byte[] Array using UTF_8 encoding
- Encode and Decode to String using Base64 encoding
- Convert Byte[] to String using new String()
- 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.