试试看下面的代码
try
{
String str = "dfafaf";
char[] c = str.toCharArray();
//主要是从这里开始的部分
String c2 = new String.valueOf(c);
byte[] bytes = str.getBytes("gb2312");
System.out.println(new String(bytes, "gb2312"));
}
catch(Exception exp)
{
}
try
{
String str = "dfafaf";
char[] c = str.toCharArray();
//主要是从这里开始的部分
String c2 = new String.valueOf(c);
byte[] bytes = str.getBytes("gb2312");
System.out.println(new String(bytes, "gb2312"));
}
catch(Exception exp)
{
}
现成的api是没有,不过,自己做程序来转化也是可以的。
下面是一个简单的思路:
1,将char[]转换成byte[];
2,用new String (byte[],"gb2312")来转换;转换的时候有个问题,你的char[]里的数据是每个char都存放一个字符吗,比如ASII字符也是用一个char来存放的吗?如果是的话,那么ASII的char就只转换成一个byte,汉字的char转换成2个byte;如果不是的话,更简单,所有的char一律转换成2个字节。