ASCII
計算機內(nèi)部匙赞,所有信息最終都是一個二進制值冶匹。一個bit
(位bit)有0和1兩種狀態(tài)撒蟀,一個(字節(jié)byte)byte = 8 bits = 256
種狀態(tài)組合椰弊。每一個狀態(tài)對應一個符號许溅,就是256個符號,從00000000到11111111秉版。
上個世紀60年代贤重,美國制定了一套字符編碼,對英語字符與二進制位之間的關系清焕,做了統(tǒng)一規(guī)定并蝗。這被稱為 ASCII 碼,一直沿用至今秸妥。
ASCII 碼一共規(guī)定了128個字符的編碼滚停,比如空格SPACE是32(二進制00100000),大寫的字母A是65(二進制01000001)粥惧。這128個符號(包括32個不能打印出來的控制符號)键畴,只占用了一個字節(jié)的后面7位,最前面的一位統(tǒng)一規(guī)定為0突雪。
在LeetCode做題的時候起惕,我們還是用256位來存charactor,比如:
int[] count = new int[256];
count[ch]++;
其他編碼方式
UTF-8
UTF-8 是 Unicode 的實現(xiàn)方式之一咏删。
相關題目
205 Isomorphic Strings
https://leetcode.com/problems/isomorphic-strings/
242 Valid Anagram
https://leetcode.com/problems/valid-anagram/