1、问题
需求需要,把字符串转化为UTF-8编码之后需要base64.encode处理,但是我写了
String ss = new String(value.getbytes("UTF-8"), "UTF-8");
Base64.encode(ss);
死活出不来,依然乱码,然后写了检测当前编码格式,然后转化成UTF-8,
String ss = new String(value.getbytes("GB1312"), "UTF-8");
Base64.encode(ss);
还是不行
2、原因
代码封装里面Base64.encode(String s)函数里面写了这段代码
{
byte[] bytes = s.getBytes("US-ASCII");
encodeBytes(bytes);
}
很明显,特么转成了“US-ASCII”编码格式,前面转的UTF-8格式做了无用功,特么像日了狗一样
<