将字符串转换为字节数组,使用当前项目的默认编码:
String s = "你好ABC";
byte[] b1 = s.getBytes();
以“gbk”格式转换字符串:
byte[] b2 = s.getBytes("gbk");
以“utf-8”格式转换字符串:
byte[] b3 = s.getBytes("utf-8");
以“utf-16be”格式转换字符串,utf-16be是java的编码格式:
byte[] b4 = s.getBytes("utf-16be");
当一个字节序列(字节数组)是某种编码时,将其转换为字符串时也要用这种编码,否则出现乱码。
使用当前项目的默认编码转换:
String str1 = new String(b4);
使用指定编码转换:
String str2 = new String(b4,"utf-16be");
把字节转换int,以16进制的方式显示,去年前面的重复0和f:
System.out.print(Integer.toHexString(b & 0xff)+" ");
以“gbk”编码的字节:一个汉字占两个字节,一个英文字母占一个字节。
以“utf-8”编码的字节:一个汉字占三个字节,一个英文字母占一个字节。
以“utf-16be”编码的字节:一个汉字占两个字节,一个英文字母也占两个字节。
Java的文件编码方式是:byte byte byte
在中文版windows系统中创建的文本文件(.txt)是以ansi编码保存,用“另存为”操作可以选择编码
本文出自 “个人笔记” 博客,请务必保留此出处http://mobileself.blog.51cto.com/4350932/1738721
原文地址:http://mobileself.blog.51cto.com/4350932/1738721