ByteToCharConverter.getConverter(encoding);

来源:互联网 发布:linux jdk安装详解 编辑:程序博客网 时间:2024/05/17 21:57

import sun.io.*;class  byte2char{public static void main(String[] args) throws Exception{//如果你不指定converter,则系统会自动使用当前的encoding,gb平台上用gbk,en平台上用8859_1。 //byte b[] = {(byte)'\u00c4',(byte)'\u00e3'}; System.out.println("byte b[] =");System.out.println(java.util.Arrays.toString(b));//byte ——〉char: //"你"的gb码是:0xc4e3 ,unicode是0x4f60 String encoding = "gb2312"; System.out.println("encoding = "+encoding);ByteToCharConverter converter = ByteToCharConverter.getConverter(encoding); char c[] = converter.convertAll(b); for (int i = 0; i < c.length; i++) { System.out.println(Integer.toHexString(c[i])); } System.out.println("c.length= "+c.length);for (int i = 0; i < c.length; i++) { System.out.print(c[i]); }System.out.println();//结果是什么?0x4f60 //如果encoding ="8859_1",结果又是什么?0x00c4,0x00e3 {String encoding = "8859_1"; System.out.println("encoding = "+encoding);ByteToCharConverter converter = ByteToCharConverter.getConverter(encoding); char c[] = converter.convertAll(b); for (int i = 0; i < c.length; i++) { System.out.println(Integer.toHexString(c[i])); } System.out.println("c.length= "+c.length);for (int i = 0; i < c.length; i++) { System.out.print(c[i]); }System.out.println();}}}/*encoding = "gb2312"byte b[] =[-60, -29]4f60c.length= 1你Hello World!请按任意键继续. . .*/



byte2char.java:20: 警告: ByteToCharConverter是内部专用 API, 可能会在未来发行版中
删除
                ByteToCharConverter converter = ByteToCharConverter.getConverter
(encoding);
                ^
byte2char.java:20: 警告: ByteToCharConverter是内部专用 API, 可能会在未来发行版中
删除
                ByteToCharConverter converter = ByteToCharConverter.getConverter
(encoding);
                                                ^
byte2char.java:37: 错误: 已在方法 main(String[])中定义了变量 encoding
                        String encoding = "8859_1";
                               ^
byte2char.java:39: 错误: 已在方法 main(String[])中定义了变量 converter
                        ByteToCharConverter converter = ByteToCharConverter.getC
onverter(encoding);
                                            ^
byte2char.java:39: 警告: ByteToCharConverter是内部专用 API, 可能会在未来发行版中
删除
                        ByteToCharConverter converter = ByteToCharConverter.getC
onverter(encoding);
                        ^
byte2char.java:39: 警告: ByteToCharConverter是内部专用 API, 可能会在未来发行版中
删除
                        ByteToCharConverter converter = ByteToCharConverter.getC
onverter(encoding);
                                                        ^
byte2char.java:40: 错误: 已在方法 main(String[])中定义了变量 c
                        char c[] = converter.convertAll(b);
                             ^
注: byte2char.java使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
3 个错误
4 个警告
请按任意键继续. . .

import sun.io.*;class  byte2char{public static void main(String[] args) throws Exception{//如果你不指定converter,则系统会自动使用当前的encoding,gb平台上用gbk,en平台上用8859_1。 //byte b[] = {(byte)'\u00c4',(byte)'\u00e3'}; System.out.println("byte b[] =");System.out.println(java.util.Arrays.toString(b));//byte ——〉char: //"你"的gb码是:0xc4e3 ,unicode是0x4f60 String encoding = "gb2312"; System.out.println("encoding = "+encoding);ByteToCharConverter converter = ByteToCharConverter.getConverter(encoding); char c[] = converter.convertAll(b); for (int i = 0; i < c.length; i++) { System.out.println(Integer.toHexString(c[i])); } System.out.println("c.length= "+c.length);for (int i = 0; i < c.length; i++) { System.out.print(c[i]); }System.out.println();//结果是什么?0x4f60 //如果encoding ="8859_1",结果又是什么?0x00c4,0x00e3 {encoding = "8859_1"; System.out.println("encoding = "+encoding);converter = ByteToCharConverter.getConverter(encoding); c = converter.convertAll(b); for (int i = 0; i < c.length; i++) { System.out.println(Integer.toHexString(c[i])); } System.out.println("c.length= "+c.length);for (int i = 0; i < c.length; i++) { System.out.print(c[i]); }System.out.println();}}}/*byte b[] =[-60, -29]encoding = gb23124f60c.length= 1你encoding = 8859_1c4e3c.length= 2??请按任意键继续. . .*/


原创粉丝点击