bom(byte-order mark)位元組序標記,bom的作用有兩個,一是標記文字的編碼型別,二是標記文字編碼的位元組序,文字檔案的最開頭都會有bom標記(windows預設編碼是ansi,不帶bom)。
utf-8(3byte):
ef bb bf
utf-16(be)(2byte):
fe ff
utf-16(le)(2byte):
ff fe
utf-32(be)(4byte):
00 00 fe ff
utf-32(le)(4byte):
ff fe 00 00
utf8編碼是一種變長的編碼方式,英文半形字元採用和ascii一致的編碼方式,中文編碼長度一般為3個位元組,按unicode6.0編碼標準,utf8最大長度為4位元組。
具體的編碼方式如下(來自unicode6.0標準文件):
scalar value
first byte
second byte
third byte
fourth byte
00000000 0******x
0******x
00000yyy yy******
110yyyyy
10******
zzzzyyyy yy******
1110zzzz
10yyyyyy
10******
000uuuuu zzzzyyyy yy******
11110uuu
10uuzzzz
10yyyyyy
10******
utf16和utf32都是定長的編碼方式,utf16所有字元長度都為2個位元組,utf32的所有字元長度都為4個位元組。
be(big endian)和le(little endian)的區別是位元組序的不同,例如:
utf16中字元a的u碼為/u0041,be的位元組序列為:/x00/x41,le的位元組序列為:/x41/x00。
順便提一下:記憶體中的位元組序是和具體的硬體有關係。
各種編碼對應的ascii碼:
ascii: ;
utf8(半形)和ascii一致;
utf8(全形): ;
utf16(半形): ;
utf16(全形): ;
MySQL字符集編碼相關
windows 10家庭中文版,mysql 5.7.20,2018 05 07 part.1 查詢資料庫的字符集編碼 檢視mysql字符集編碼 status命令 使用命令列登入mysql伺服器,然後輸入status命令,可以檢視到伺服器的字符集編碼及其它資訊。從下圖可以看到,我的伺服器 server...
字符集 編碼
字符集概念 1 字符集 可以表示的字元和字元對應計算機位元組碼的對映 2 字元編碼方式 計算機中用來表示和傳輸如前所述字符集中對映的位元組碼的編碼方式。對於ascii和gb2312等字符集,他們在傳輸和計算機表示時的位元組碼不用編碼,直接用字元對應的位元組碼表示。但比如unicode 字符集,就有多...
字符集編碼
喬哥 小萌,聽說你去面試了,怎麼樣啊?小萌 哎 喬哥,你給我講講什麼是字符集和編碼唄,ascii,utf 8,utf 16,utf 32又是啥?喬哥 好的,在搞懂字符集先來講講什麼是編碼吧 在計算機底層,比如說你的名字 小萌 在計算機中並不是文字的形式,而是一串二進位制數字,如 0110011001...