Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在java类中显示图像字符_Java_String_Utf 8_Utf 16_Utf - Fatal编程技术网

无法在java类中显示图像字符

无法在java类中显示图像字符,java,string,utf-8,utf-16,utf,Java,String,Utf 8,Utf 16,Utf,我应该在字符串中显示/至少打印附加字符 字符串str=(附件) 但我无法打印确切的字符。我确实使用了UTF8和16编码 提前感谢您使用了所谓的双重编码 你有三个字符的序列“你好吗" 您正确地指出,它在UTF-8中编码为E4BDA0 E5A5BD E59097 但是现在,开始用UTF-8编码该编码的每个字节。从E4开始。UTF-8中的代码点是什么?试试看!它是C3 A4 你明白了……:-) 下面是一个Java应用程序,说明了这一点: public class DoubleEncoding {

我应该在字符串中显示/至少打印附加字符 字符串str=(附件)

但我无法打印确切的字符。我确实使用了UTF8和16编码


提前感谢

您使用了所谓的双重编码

你有三个字符的序列“你好吗" 您正确地指出,它在UTF-8中编码为E4BDA0 E5A5BD E59097

但是现在,开始用UTF-8编码该编码的每个字节。从E4开始。UTF-8中的代码点是什么?试试看!它是C3 A4

你明白了……:-)

下面是一个Java应用程序,说明了这一点:

public class DoubleEncoding {
    public static void main(String[] args) throws Exception {
        byte[] encoding1 = "你好吗".getBytes("UTF-8");
        String string1 = new String(encoding1, "ISO8859-1");
        for (byte b : encoding1) {
            System.out.printf("%2x ", b);
        }
        System.out.println();
        byte[] encoding2 = string1.getBytes("UTF-8");
        for (byte b : encoding2) {
            System.out.printf("%2x ", b);
        }
        System.out.println();
    }
}

当旧的被否决时,不要简单地问新问题。试着改进原来的问题:你认为UTF-8是如何涉及的?你开始的字符串或字节序列是什么?@Tom,它是从HTMLI发送的。明白了。但我希望图像的轮廓应该打印在控制台上。
public class DoubleEncoding {
    public static void main(String[] args) throws Exception {
        byte[] encoding1 = "你好吗".getBytes("UTF-8");
        String string1 = new String(encoding1, "ISO8859-1");
        for (byte b : encoding1) {
            System.out.printf("%2x ", b);
        }
        System.out.println();
        byte[] encoding2 = string1.getBytes("UTF-8");
        for (byte b : encoding2) {
            System.out.printf("%2x ", b);
        }
        System.out.println();
    }
}