将字符串转换回原始格式

时间:2020-12-21 14:43:17

标签: java encoding decode

我将字节数组 msg 转换为字符串 encodedmsg,格式为 ISO-8859-1,如下所示:
String encodedmsg = new String(msg, "ISO-8859-1");
我现在不知道如何从我的字符串 encodedmsg 回到字节数组 msg,本质上是恢复我最初所做的。任何帮助都会非常感谢:)

2 个答案:

答案 0 :(得分:2)

您可以按如下方式返回 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, 108, 111]
hello
[104, 101, 108, 108, 111]

答案 1 :(得分:1)

new String(encodedmsg.getBytes("ISO-8859-1"));