1. 程式人生 > 其它 >字符集編碼和字串

字符集編碼和字串

字符集編碼和字串

什麼是字符集(Charset)

  • 字符集就是字元的集合。一般會包含一種語言的字元。比如GBK,是包含所有 常用漢字字元的字符集。ASCII是包含英文字元的字符集。

  • 字元就是Java中的char , char是character的簡寫。

     

     

什麼是編碼(Encoding)

  • char代表一個字元,char的本質也是數字。將數字對映到字元,就叫編碼。

  • 將一個字符集對映到數字,就是給這個字符集編碼。編碼是有標準的,所有的計算機系統按照同一個編碼標準執行。

  • 有時候編碼和字符集會混用。

 

常用的字符集簡介

  • ASCII碼,ASClI表 https:/baike.baidu.com/item/ASCl/309296#

  • Unicode包含世界上所有常用字元,編碼也有幾種,包括UTF-8(8-bit Unicode Transformation Format ) , UTF-16等。

  • Unicode,GBK等所有常用的字符集,都會相容AScI。舉個例子,字元A 在這些所有常用的字符集裡,都是對應數字65。

Java中的字符集

  • Java中用的是UTF-16編碼的Unicode。

  • UTF-16用16個bit,即兩個byte,這也是char佔用兩個byte的原因。當把 char轉成數字的時候,需要用int。

如何輸出特殊字元

  • ASCII碼 +char,通過ASCII表可以找到需要的字元對應的數字。將這個數字轉換為char , 然後輸出這個char。

  • ASCII表詳情連結 : https:/baike.oaidu.com/item/ASCI/309296#3

  • 轉義符。轉義符用來給字元賦值,也可以用在字串裡面,作為字串中的一個字元。

 

轉義符語法和常用的轉義符

  • \n , 換行符

  • \",雙引號

  • \t , 製表符

  • \uXXXX , unicode編碼對應的字元。

public class ComplexCharinString {
  public static void main(String[] args) {
      String content = "a\tb\"\tcc\n\tee\t";
      String align = "1111222233334444";
      System.out.println(content);
      System.out.println(align);
  }
}

字串的“加法”

將變數穿插在字串中輸出

  • 字串可以和任何型別進行加法運算,則會將這個值的字元拼接到字串上。

  • 字串也可以使用 += 操作符來拼接

  • 字串的加法運算子符合加法運算子本身的優先順序

 

字串不是Java中的基本資料型別

  • 字串型別的名字叫做String

  • 雖然String不是Java中的基礎型別,但是也可以使用類似的語法String str=“abc”,來建立。開始的時候將其當成基礎型別,更容易理解。

  • String不是Java中的保留字。(在IDE編譯器當中可以通過顏色分辨)

String的加法不會改變原String變數的值,改變其值要用賦值語句

public class StringVariable {
  public static void main(String[] args) {
      int a = 10;
      String str = "a的值是";
      str = str + a;
      System.out.println(str);

      String s2 = "a的值是";
      System.out.println(s2 + a);
      System.out.println(s2);
  }
}