在 Java 中如何将 Byte[] 数组转换为 String 和 String 转换为 Byte[]?
已发表: 2019-12-26![在 Java 中如何将 Byte[] 数组转换为 String 和 String 转换为 Byte[]?](/uploads/article/539/B3oJoW1JxaiAtSnk.png)
如何在 Java 中将 Byte[] 数组转换为字符串? 如何将 UTF-8 字节 [] 转换为字符串? 将 Java 字节数组转换为字符串到字节数组。
字符串存储textual data
,存储binary data
需要字节[]。 在理想情况下,您将避免在生产就绪构建中使用相同的内容。 这是一个代码,以防万一您需要在应用程序中进行从 String 到 byte[] 的转换,反之亦然。
有多种方法可以将 byte[] 转换为 String 并将 String 转换为 byte[]。
我们将以5 different ways
操作 String 和 byte[]。
- 使用 getBytes() 将字符串转换为 byte[] 数组
- 使用 UTF_8 编码将字符串转换为 byte[] 数组
- 使用 Base64 编码对字符串进行编码和解码
- 使用 new String() 将 Byte[] 转换为 String
- 使用 UTF_8 编码将 Byte[] 转换为 String
String 对象上的toString()
函数不会返回实际字符串,而只会返回 HashValue。 查找下面 Java 程序中提到的所有注释。
Java 代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
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 控制台输出:
只需将上面的程序作为 Java 应用程序运行,您应该会看到类似的结果。

1 2 3 4 5 6 7 8 9 10 11 12 13 |
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 |
如果您在上面的程序中看到任何问题,请告诉我。