62,620
社区成员
发帖
与我相关
我的任务
分享 public static void main(String[] args) throws IOException {
char a='中'; //在内存中用unicode编码,占2个字节
System.out.println((int)a); //unicode码为20013
OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("data.txt"),"UTF-8");
osw.write(a); //写完后文件大小为3字节
osw.close();
}
但还是有点疑问想请教
1:utf-8 的出现就是避免浪费,采用不定长表示。那汉字的话,unicode总是用2字节表示,而utf-8有的用2个字节、有的用3个字节表示,这岂不是更浪费。
4:以.java结尾的源文件编译后会生成相应的.class文件,我想请教的是'中‘在.class文件中是用字面量'中'表示还是用其unicode表示?[/quote]
这是我搜藏的一个帖子,讲的很详细,你自己参考下,我觉得帖子讲的额很详细
http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html
但还是有点疑问想请教
1:utf-8 的出现就是避免浪费,采用不定长表示。那汉字的话,unicode总是用2字节表示,而utf-8有的用2个字节、有的用3个字节表示,这岂不是更浪费。
4:以.java结尾的源文件编译后会生成相应的.class文件,我想请教的是'中‘在.class文件中是用字面量'中'表示还是用其unicode表示?[/quote]
这是我搜藏的一个帖子,讲的很详细,你自己参考下,我觉得帖子讲的额很详细
http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html[/quote]
谢谢!
但还是有点疑问想请教
1:utf-8 的出现就是避免浪费,采用不定长表示。那汉字的话,unicode总是用2字节表示,而utf-8有的用2个字节、有的用3个字节表示,这岂不是更浪费。
4:以.java结尾的源文件编译后会生成相应的.class文件,我想请教的是'中‘在.class文件中是用字面量'中'表示还是用其unicode表示?