本帖最后由 涐扪①起奮乧 于 2013-11-17 21:58 编辑
- import java.util.*;
- class EncodeDemo
- {
- public static void main(String[] args) throws IOException
- {
- String s = "你好";
- byte[] b1 = s.getBytes("GBK");
- System.out.println(Arrays.toString(b1));
- String s1 = new String(b1,"ISO8859-1");
- System.out.println("s1="+s1);//产生乱码
- //对s1进行ISO8859-1再次编码
- byte[] b2 = s.getBytes("ISO8859-1");
- System.out.println(Arrays.toString(b2));
- String s2 = new String(b2,"GBK");
- System.out.println("s2="+s2);
- }
- }
复制代码 第一个小问题我这个程序运行后显示
办公室自己46.java:4: 错误: 找不到符号
public static void main(String[] args) throws IOException
^
符号: 类 IOException
位置: 类 EncodeDemo
1 个错误
没找到原因,郁闷死了。。。
第二个问题:GBK和ISO8859-1是两个不同的编码表,里面同一个汉字对应的编码值是不同
对s1进行ISO8859-1再次编码,这一块,为什么再解码一次就会恢复正常?搞不懂。
对第一个小问题,想了半天,偶然间我在主函数上主函数里抛出Exception
public static void main(String[] args) throws Exception加上对
byte[] b2 = s.getBytes("ISO8859-1");这里改成byte[] b2 = s1.getBytes("ISO8859-1");程序就编译成功且运行成功。操,就这个小问题忙了一天,气死我了。
下面接着问主函数上我抛出Exception程序能编译成功而主函数上抛出IOException编译不成功,编译时出现
办公室自己46.java:4: 错误: 找不到符号
public static void main(String[] args) throws IOException
^
符号: 类 IOException
位置: 类 EncodeDemo
1 个错误
|