Jal*_*ddy 3 java
有什么区别
String(s.getBytes("UTF-8"),"UTF-8");
和
String(s.getBytes(),"UTF-8");
在第一个代码示例中,一些特殊字符正在解码为什么以及有什么区别?
如果我使用双解码,会影响任何事情UTF-8吗?
UTF-8
Gho*_*ica 5
来自javadoc:
用于getBytes():
getBytes()
使用平台的默认字符集将此String编码为字节序列,将结果存储到新的字节数组中.
然而,getBytes(Charset)说:
getBytes(Charset)
使用给定的字符集将此String编码为字节序列,将结果存储到新的字节数组中.
因此第二个版本允许您完全控制,第一个调用依赖于该平台的默认字符集.
这就是全部.
对于"平台默认",请参见此处.请注意,人们要求将默认值设为UTF-8(参见此处).
归档时间:
6 年,11 月 前
查看次数:
115 次
最近记录: