public class ClassToTestSnippets {
private static ClassToTestSnippets ctts;
public static void main(String[] args) {
ctts = new ClassToTestSnippets();
ctts.testThisMethod();
}
public void testThisMethod() {
System.out.println("\u2014".length()); //answer is 1
}
}
上面的代码打印1.但是\u2014
是E2 80 94
,即3个字节。我如何知道字符串包含多少字节?
答案 0 :(得分:9)
取决于。你想用什么编码?
System.out.println("äö".getBytes("UTF-8").length);
打印4,但如果我将UTF-8
更改为ISO-8859-1
(例如),则会打印2.其他编码可能会打印其他值(尝试UTF-32
)。
答案 1 :(得分:4)
内部 - 它包含(字符数)* 2个字节,因为Java中的每个char
占用两个字节(Java中的普通字符是16位unicode)。实际字节是0x20和0x14。
但是,length函数返回字符数,而不是字节数。