字符集編碼和字串
什麼是字符集(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中的保留字。(在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);
}
}