2017-09-13 78 views
-6

我應該顯示/打印ATLEAST連接字符串中的字符 字符串str =(附後)str無法顯示在Java類圖像字符

System.out.println("Str : "+Str); 

但我無法打印的確切字符。我確實使用了UTF 8和16編碼。

在此先感謝

+4

不要簡單地問新問題,當舊了下來,投了反對票。儘量提高原:無法顯示在Java類圖像字符(https://stackoverflow.com/q/46200918) – Pshemo

+0

你是如何認爲UTF-8是參與?什麼是你開始的字符串或字節序列? –

+0

@湯姆,它是從HTML –

回答

2

你有什麼被稱爲雙重編碼。

你有三個字符序列「你好嗎」,你正確地指出了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(); 
    } 
} 
+0

送我明白了。但我想要在控制檯上打印圖像的字形。 –