程序清单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.PRintln("Current Encoding: "+out.getEncoding()); 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中的多字节字符。