我是Java的初学者,我需要转换为字符串的字节数组.
之后,我想将其从字符串更改为字节数组.
我尝试了下面的代码,但它没有用,因为第2行的返回值与原始数组不匹配:
byte[] comData = byteArray;
String value = new String(comData);
byte[] comData2 = value.getBytes();
// comData2 does not equal comData
Run Code Online (Sandbox Code Playgroud)
如果这是一个任意的字节集合,即它实际上不是编码文本,那么我建议你使用base64.有一个公共域库可以使它变得容易(或各种其他第三方库).
示例代码:
byte[] originalData = ...
String base64 = Base64.encode(myByteArray);
byte[] decoded = Base64.decode(base64);
Run Code Online (Sandbox Code Playgroud)
您的原始代码假定数据表示以平台默认编码编码的文本.你应该总是避免使用平台默认的编码-如果你不希望使用文本编码,它通常是最好指定一个,例如
byte[] encodedText = text.getBytes("utf-8");
Run Code Online (Sandbox Code Playgroud)
(当然,如果您正在解码二进制数据,那么您无法选择编码 - 您需要知道要使用哪种编码.)
| 归档时间: |
|
| 查看次数: |
1470 次 |
| 最近记录: |