七段

无论怎样,请让我先感谢一下国家。

BlogJava 首页 新随笔 联系 聚合 管理
  35 Posts :: 2 Stories :: 7 Comments :: 0 Trackbacks
先看一段代码:
byte [] b = new byte[]{1,-1,2,-2};
        System.out.println(Arrays.toString(
new String(b).getBytes()));

输出:
[1, -17, -65, -67, 2, -17, -65, -67]
解释:
byte decode to String,String encode to byte 默认用UTF-8 charset.
decode遇到不支持的字符 输出 char � , encode � 就是 -17, -65, -67.
实现细节可见ByteToCharUTF8.java

解决办法: 使用 ISO8859_1 charset。

教训: 注意charset的范围。



posted on 2010-04-14 23:14 sevenduan 阅读(2029) 评论(0)  编辑  收藏 所属分类: Java

只有注册用户登录后才能发表评论。


网站导航: