二進制位(bit)
字節(byte)
byte = 8 bit = 256
標準ASCII = 256 = 1byte
GB2312 = 標準ASCII+簡體漢字 = 2byte
GBK = GB2312 + 繁體漢字 = 2byte
UNICODE 萬國碼(變長)
utf8 中文= 3-4byte
mysql的utf8並不完全兼容標準的utf8編碼,後續推出了utf8mb4完全兼容,推薦採用utf8mb4
中文在utf-8中佔3or4個字節,
utf8字符是變長字符,
在這裏補充一下uft-8的編碼方式。
一字節:0*******
兩字節:110*****,10******
三字節:1110****,10******,10******
四字節:11110***,10******,10******,10******
五字節:111110**,10******,10******,10******,10******
六字節:1111110*,10******,10******,10******,10******,10******
拿到字節串後,想判斷UTF8字符的byte長度,
只需要獲取該字符的首個Byte,根據其值就可以判斷出該字符由幾個Byte表示。