字符串包含多少字节?

Sur*_*edi 1 java string unicode utf-8

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
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码打印1.不过\u2014E2 80 94即3个字节.我如何知道字符串包含多少字节?

Kay*_*man 9

要看.你想用什么编码?

System.out.println("äö".getBytes("UTF-8").length);
Run Code Online (Sandbox Code Playgroud)

打印4,但如果我UTF-8改为ISO-8859-1(例如),它将打印2.其他编码可能会打印其他值(尝试UTF-32).