java和vb进行socket 以及java与c/c++/oc 进行socket通信时汉字字符串编码问题解决
我遇到的是 java 编码字符集采用 UTF-8 编码字符采用2+字符 我测试的代码如下
System.out.println("UTF-8:a->" + "a".getBytes("UTF-8").length);
System.out.println("UTF-8:嗨->" + "嗨".getBytes("UTF-8").length);
System.out.println("GB2312:a->" + "a".getBytes("GB2312").length);
System.out.println("GB2312:嗨->" + "嗨".getBytes("GB2312").length);
System.out.println("Unicode:a->" + "a".getBytes("Unicode").length);
System.out.println("Unicode:嗨->" + "嗨".getBytes("Unicode").length);
//测试结果
//UTF-8:a->1
//UTF-8:嗨->3
//GB2312:a->1
//GB2312:嗨->2
//Unicode&#