Chinaunix首页 | 论坛 | 博客
  • 博客访问: 368007
  • 博文数量: 715
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5005
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:46
文章分类

全部博文(715)

文章存档

2011年(1)

2008年(714)

我的朋友

分类:

2008-10-13 16:29:57

看了好几篇分析java汉字编码问题的文章,加上自己的实践,总结几点:
1 Java所有字符在内存中是未编码的unicode。
   这一点好像没法验证,JBuilder和Eclipse都无法直接查看某变量的内存信息(对JAVA IDE不太熟)。
   譬如: String  zw= new String(“中文“);
   其内存中应该表现为\u\4E2D \u6587
2 编译为class文件后,使用的是unicode的UTF-8编码(IDE指定的编码)“E4 B8 AD E6 96 87”
3 byte[] bencdoe = zw.getBytes();  
   getBytes函数群总是对字符串进行某种编码后的结果。无参getBytes()使用操作系统默认字符集,譬如,我们中国人用的win2k一般是GB2312, 或者GBK. 所以上面其结果为“D6 D0 CE C4“。
4 字符串在内存中操作时,不需要任何编码或解码操作。
   一旦涉及到输入或输出,就通常需要编解码。

posted on 2005-06-06 21:31 Michael 阅读(969)   


--------------------next---------------------

阅读(205) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~