问题描述
我将字节数组 msg
转换为字符串 encodedmsg
,格式为 ISO-8859-1
,如下所示:String encodedmsg = new String(msg,"ISO-8859-1");
我现在不知道如何从我的字符串 encodedmsg
回到字节数组 msg
,本质上是恢复我最初所做的。任何帮助都会非常感谢:)
解决方法
您可以按如下方式返回 byte[]
:
byte[] arr = encodedmsg.getBytes(Charset.forName("ISO-8859-1"));
演示:
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws UnsupportedEncodingException {
byte[] msg = "hello".getBytes();
System.out.println(Arrays.toString(msg));
String encodedmsg = new String(msg,"ISO-8859-1");
System.out.println(encodedmsg);
byte[] arr = encodedmsg.getBytes(Charset.forName("ISO-8859-1"));
System.out.println(Arrays.toString(arr));
}
}
输出:
[104,101,108,111]
hello
[104,111]
,
new String(encodedmsg.getBytes("ISO-8859-1"));