Java字符编码笔记

二进制位(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表示。

你可能感兴趣的:(Linux,JAVA)