62,628
社区成员
发帖
与我相关
我的任务
分享
byte[] mybankaccountUTF8=mybankaccount.getBytes();
String mybankaccountUNI=new String(mybankaccountUTF8,"UTF-8"); //这个应该没问题
String mybankaccountGBK=new String(mybankaccountUNI.getBytes("GBK")); //这就错了,new String(mybankaccountUNI.getBytes("GBK"),"GBK");才对
public void testString() throws UnsupportedEncodingException {
//默认字符集应该是UTF8.所以无参的getBytes方法等价于getBytes("utf-8")
String a = "我是谁1234你是谁";
byte [] gbkBytes = a.getBytes("gbk"); //转成gbk编码byte[]
String gbkStr = new String(gbkBytes,"gbk"); //gbk编码的byte数组根据gbk字符集转成字符串
String wrongStr = new String(gbkBytes); //这样等价于new String(gbkBytes,"utf-8");
byte [] utf8Bytes = gbkStr.getBytes("utf-8"); //转成utf8编码byte[]
String utf8Str = new String(utf8Bytes,"utf-8"); //utf编码的byte数组根据utf字符集转成字符串
String defaultStr = new String(utf8Bytes); //默认字符集为utf8测试
System.out.println(a);
System.out.println(gbkStr);
System.out.println(wrongStr);
System.out.println(utf8Str);
System.out.println(defaultStr);
}