java 轉義字符"\u0010" "\010" "\2"等


java轉義字符

\xxx                八進制轉義符

\uxxxx          十六進制轉義符

像"\010","\u0010"這種字符串,不要以為它們長度大於1,其實它們僅占一個字節,也就是由 '\010'和'\u0010'組成的單字節字符串,那么這兩個字符究竟代表什么呢?它們是否是一樣的?其實它們都是不可見字符,分別表示退格和數據鏈路轉義(參考ASCII表),使用Arrays.toString(s.getBytes())可以打印一個字符串的字節數組,也就是其ASCII的十進制值,使用如下代碼對轉義字符的進行測試:
        System.out.println(Arrays.toString("0010".getBytes()));   //[48,48,49,48]
        System.out.println(Arrays.toString("\u0010".getBytes()));   //[16]   '\u0000'~'\uFFFF'
        //System.out.println(Arrays.toString("\u010".getBytes()));    //編譯不通過,提示非法的Unicode轉義
        System.out.println(Arrays.toString("\010".getBytes()));     //[8]  范圍’\000′~’\377′
        System.out.println(Arrays.toString("\10".getBytes()));      //[8]   長度可為1~3位
        System.out.println("\u0002".equals("\2"));                  //true
        System.out.println(Integer.valueOf('\u0002'));              //2 (ASCII值)
        System.out.println("\101");     //A
        System.out.println('\101');     //A
        System.out.println("\u0041");   //A
        System.out.println("abcd\b\b"); //ab (\b表示退格)

 可以看到, '\u0010' 對應的十進制ASCII值為16,'\010'對應的十進制ASCII值為8,事實上十六進制的10就是16,八進制的10就是8。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM