前几天看到一帖子,lz想要实现将010101这样的字符串翻译成byte然后再转换成相应编码的字符串
写了一下只能在utf-8编码下实现,不是很理想。今天又写了一写在进行测试的时候发下了个问题byte[] g=new String("我是谁a").getBytes();        //占用7字节
byte[] f=new String("我是谁a").getBytes("gbk");   //占用7字节结果同上
byte[] d=new String("我是谁a").getBytes("utf-8"); //占用10字节
原本以为java中的字符采用unicode编码,所以每个字符翻译成byte应该都占用2个字节。
可是确不是我想象的那样,翻译成字节后英文还是只占用一个字节,中文在gbk编码下占2字节,
utf-8下占3字节。谁能解释下getBytes的转换原理?翻译成byte后如何判断一个字符是中文
还是英文?一般这样的翻译程序是怎么处理的