char
2009-12-03 17:44 iBlog 阅读(273) 评论(0) 编辑 收藏 举报
首先,java中的一个char的确是2个字节。java采用unicode,2个字节来表示一个字符。
其次,楼主你说的byte[] bytes = str.getBytes();之后是3个字节,这里和前面的概念不一样。java是 用unicode来表示字符,"编"这个中文字符的unicode就是2个字节。String.getBytes(encoding)方法是获取指定编码 的byte数组表示,通常gbk/gb2312是2个字节,utf-8是3个字节。如果不指定encoding则取系统默认的encoding.
其次,楼主你说的byte[] bytes = str.getBytes();之后是3个字节,这里和前面的概念不一样。java是 用unicode来表示字符,"编"这个中文字符的unicode就是2个字节。String.getBytes(encoding)方法是获取指定编码 的byte数组表示,通常gbk/gb2312是2个字节,utf-8是3个字节。如果不指定encoding则取系统默认的encoding.
本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名时邵猛(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。如果您觉得文章很有用,欢迎捐赠!【通过】。