byte[] 转String时,可以使用以下方式指定字符集编码:
// byteRequest为byte[]类型
String request = new String(byteRequest, "UTF-8");
今天遇到一个问题,同样的程序在Eclipse里面运行和打成Jar包用cmd运行,一个在解析请求会报错,另一个正常。
经检查发现是因为没有指定字符串的字符集导致的,操作系统默认的字符集和Eclipse可能是不一样的,所以会有这样的现象。
在序列化和反序列化的过程中要特别注意字符集的问题,尽量明确指定。