以前没注意过。。。这个方法 str.getBytes(); 在不同环境可能获取出来的byte数组不同,看了下源码默认应该是指定了ISO-8859-1,解决方法就是手动指定编码 .getBytes("UTF-8");