程序清單1 EncodingTest.java 1 import java.io.ByteArrayOutputStream; 2 import java.io.OutputStreamWriter; 34 public class EncodingTest { 5public static void main(String[] args) { 6OutputStreamWriter out = new OutputStreamWriter(new ByteArrayOutputStream()); 7 System.out. 8 System.out.println("Literal output: ??o?£?"); // You may not see this Chinese String 9} 10 }
有關這段源代碼的說明如下: ·? 我們用下面的代碼確定系統當前的編碼方式: 6 OutputStreamWriter out = new OutputStreamWriter(new ByterrayOutputStream()); 7 System.out.println("Current Encoding: "+out.getEncoding()); ·第8行包含直接打印輸出中文文字字符串(由于操作系統語言設置的原因可能造成該字符串不能正常顯示)的代碼。 ·用GBK編碼方式保存這個Java源文件。
URL鏈接中帶有多字節字符會使事情復雜化,像<A href = getuser.jsp?name=**>View detail information of this user</A>(**代表多字節字符)。這種情況很常見,例如在鏈接里加入用戶名或其它信息以便傳給下一頁。但RFC (因特網標準草案) 2396中并未明確規定URL中有非US-ASCII字符時的格式,不同的瀏覽器會采用它們自己的方式來編碼URL中的多字節字符。