java.lang.String.getBytes (String charsetName)
和java.lang.String.getBytes (Charset charset)
之间的区别。
如何在android api中使用java.lang.String.getBytes (Charset charset)
8。还有其他方法吗?
答案 0 :(得分:-1)
它是一样的。
从java源代码复制:
public byte[] getBytes(String charsetName)
throws UnsupportedEncodingException {
if (charsetName == null) throw new NullPointerException();
return StringCoding.encode(charsetName, value, 0, value.length);
}
public byte[] getBytes(Charset charset) {
if (charset == null) throw new NullPointerException();
return StringCoding.encode(charset, value, 0, value.length);
}
解释@ Henry的回答:
static byte[] encode(String charsetName, char[] ca, int off, int len) throws UnsupportedEncodingException {
StringEncoder se = deref(encoder);
String csn = (charsetName == null) ? "ISO-8859-1" : charsetName;
if ((se == null) || !(csn.equals(se.requestedCharsetName())
|| csn.equals(se.charsetName()))) {
se = null;
try {
Charset cs = lookupCharset(csn);
if (cs != null)
se = new StringEncoder(cs, csn);
} catch (IllegalCharsetNameException x) {}
if (se == null)
throw new UnsupportedEncodingException (csn);
set(encoder, se);
}
return se.encode(ca, off, len);
}
答案 1 :(得分:-1)
它的方法相同。如果传递CharsetName,则稍后将通过java类找到Charset。否则你提供Charset并且不需要创建它的对象。
与使用Point(x,y)和Point(point)
的构造函数相同