将字符串转换回原始格式

问题描述

我将字节数组 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"));