日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

字符编码常识

發布時間:2025/3/13 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 字符编码常识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基本常識:

1.位和字節

位:(bit),計算機里存放的二進制的值(0/1)。

字節:(byte),一個字節由8位組成。8個位的組合有256個組合方式,其值范圍:“00000000-11111111”,常用16進制來表示。

通常所說的字符編碼,就是指定義一套規則,將真實世界里的字母、字符與計算機二進制序列進行相互轉化。

2.編碼標準

(1) 拉丁編碼(適用于美國,歐洲)

<1> ASCII編碼

只支持基礎拉丁字母。設計:用1個字節來表示1個字符。且最高位為0,表示字符含義的只有7位,所以可表達的字符只有128個。(適合美國人)

<2>?EASCII編碼

到西歐的時候,發現美國人設計的ASCII編碼無法滿足,所以將一個字節中的最高位也利用了起來,可表達的字符256個。

<3>?ISO 8859

雖然西歐使用256個字符能滿足自身使用了,但是北歐、東歐還是不夠,所以就出現了ISO 8859。

不是單獨的字符集編碼,而是一整套。從ISO 8859-(1-16)沒有12,每個字符集對應不同的區域的編碼。兼容ASCII的。

以上這三種編碼都是單字節編碼,一個字符對應一個字節。

(2)中文編碼:

但是對于字符集更大的中文來說,并不合適。(大概有8w左右),所以需要多個字節來表示一個字符的編碼規則。

GB2312編碼:國家簡體字符集,用兩個字節表示一個漢字。同樣還兼容ASCII編碼規則。

(3) Unicode 編碼:全世界字符統一編碼規則

Unicode 采用4字節來表示一個字符,理論上,能表示的字符數就達到2的31次,21億左右的字符。

但是這樣一來,對于中文和拉丁字母就會形成一種浪費。另外如何讓計算機區分是Unicode編碼還是其他編碼也是需要考慮的問題。

<1>UTF-8編碼:Unicode編碼的一種實現。Unicode是統一編碼標準規范。

編碼規則:

  • 規則1:對于單字節字符,字節的第一位為0,后7位為這個符號的Unicode碼,所以對于拉丁字母,UTF-8與ASCII碼是一致的。
  • 規則2:對于n字節(n&gt;1)的字符,第一個字節前n位都設為1,第n+1位為0,后面字節的前兩位一律設為10,剩下沒有提及的位,全部為這個符號的Unicode編碼

如圖:

UTF-8 與GBK和GB2312并不完全兼容。也就是說不能通過何種方式進行轉換。只能通過查表的形式來轉換。

UTF-8下的中文占3個字節或4個字節,并不固定。

?

3.UTF-8 的BOM

Bom是微軟給UTF-8加上的,用于表示文件使用的是UTF-8編碼。即在UTF-8編碼的文件起始位置,加入三個字節“EE BB BF”。

標準并不推薦。

?

參照:

http://blog.jobbole.com/76376/

https://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/

轉載于:https://www.cnblogs.com/solverpeng/p/5617942.html

總結

以上是生活随笔為你收集整理的字符编码常识的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。