ASCII
计算机内部,所有信息最终都是一个二进制值。一个bit
(位bit)有0和1两种状态,一个(字节byte)byte = 8 bits = 256
种状态组合。每一个状态对应一个符号,就是256个符号,从00000000到11111111。
上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为 ASCII 码,一直沿用至今。
ASCII 码一共规定了128个字符的编码,比如空格SPACE是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的一位统一规定为0。
在LeetCode做题的时候,我们还是用256位来存charactor,比如:
int[] count = new int[256];
count[ch]++;
其他编码方式
UTF-8
UTF-8 是 Unicode 的实现方式之一。
相关题目
205 Isomorphic Strings
https://leetcode.com/problems/isomorphic-strings/
242 Valid Anagram
https://leetcode.com/problems/valid-anagram/