日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

ASCII、Unicode、UTF-8、utf8mb4,有啥區別?

來源: 責編: 時間:2024-05-29 17:29:07 221觀看
導讀什么是字符集?什么是編碼?什么是解碼?它們之間有什么關系?ASCII、Unicode、UTF-8、ISO-8859-1、GB2312,這些在計算中常見的名詞,它們代表的真正含義是什么?這篇文章幫你講透!字符集字符集(Character Set)是字符的一個集合,包含字

什么是字符集?什么是編碼?什么是解碼?它們之間有什么關系?ASCII、Unicode、UTF-8、ISO-8859-1、GB2312,這些在計算中常見的名詞,它們代表的真正含義是什么?這篇文章幫你講透!X2p28資訊網——每日最新資訊28at.com

X2p28資訊網——每日最新資訊28at.com

字符集

字符集(Character Set)是字符的一個集合,包含字母、數字、標點符號、控制字符、中文以及其他符號。常見的字符集包括:X2p28資訊網——每日最新資訊28at.com

  • ASCII字符集(American Standard Code for Information Interchange,美國標準信息交換碼):總共 128個字符,包括英文字母、數字、一些特殊符號和控制字符
  • ISO-8859-1:擴展了ASCII,包含 256個字符,支持西歐語言的字符
  • GB2312:中國定義的一個標準,包含了 7445個字符,6763個漢字和 682個非漢字字符
  • GBK:中國定義的一個標準,支持 21003個漢字和圖形字符,涵蓋了漢字、日文假名、韓文、特殊符號等,兼容 GB2312
  • GB18030:中國定義的一個標準,支持 70000多個字符,兼容 ASCII、GB2312、GBK等多種編碼方案
  • Unicode:包含了全球幾乎所有書寫系統的 110多萬個字符,它提供一個統一的字符編碼標準,支持所有語言
  • Big5字符集:包含 13053個繁體中文漢字和其他字符,主要用于臺灣和香港

編碼和解碼

1.編碼

編碼(Encoding)是將字符集中的字符轉換為計算機可以處理的二進制數據的規則或方案。不同的編碼方式會使用不同的二進制模式來表示同一個字符。常見的編碼方式包括:X2p28資訊網——每日最新資訊28at.com

  • ASCII編碼:使用 7位二進制數表示字符
  • UTF-8:一種 Unicode編碼方式,使用1到4個字節來表示一個字符。UTF-8是目前最廣泛使用的編碼方式,具有向后兼容 ASCII的特點
  • UTF-16:一種 Unicode編碼方式,使用2或4個字節表示一個 Unicode字符(不常用)
  • UTF-32:一種 Unicode編碼方式,使用固定的 4個字節表示一個 Unicode字符(不常用)
  • GB2312:一種為簡體中文設計的編碼方式,使用1或2個字節表示一個 Unicode字符(不常用)
  • GBK:一種為簡體中文設計的編碼方式,使用1或2個字節表示一個 GBK字符
  • Big5:一種主要用于臺灣和香港的繁體字符集,使用雙字節來存儲 Big5字符集

X2p28資訊網——每日最新資訊28at.com

2.解碼

解碼(Decoding)是將編碼后的數據還原為其原始格式的過程,解碼通常是編碼的逆過程。X2p28資訊網——每日最新資訊28at.com

通過上面的描述可以知道:GB2312,GBK,GB18030 它即包含一套字符集,也包含了對應的一套編解碼。X2p28資訊網——每日最新資訊28at.com

ASCII碼

計算機起源于美國,計算機內部使用的是二進制(0/1),而美國的通用的語言是英文,于是,為了規范英語字符與二進制位之間的關系,在上個世紀60年代,美國制定了一套字符編碼,這就是一直沿用至今的 ASCII 碼。X2p28資訊網——每日最新資訊28at.com

在英語里,除了 26個英文字母的大小寫,再加上一些通用的符號,總共 128個字符(包括 32個不能打印的控制符號),因此,ASCII碼也定義了與之對應的 128個編碼,比如,字母 A的 ASCII碼是十進制 65(二進制:01000001)。X2p28資訊網——每日最新資訊28at.com

對于 128=2? 個字符,只需要一個字節就能存儲(1byte = 8bit),而且只需要占用了一個字節的后面7 位,因此,ASCII碼規定二進制的最前面的一位統一為 0。如下為一張 ASCII碼表:X2p28資訊網——每日最新資訊28at.com

X2p28資訊網——每日最新資訊28at.com

所以,ASCII碼是為了英語使用者能夠把常用的 128個字符存儲在計算機中而設置的一套規則。X2p28資訊網——每日最新資訊28at.com

GB2312

ASCII碼的設計很優秀,但對于中文使用者,怎么能接受計算機存儲不了中文的現實?于是,聰明的中國人在 1980年發布了一套適用自己的新編準:GB2312。X2p28資訊網——每日最新資訊28at.com

GB2312 是中華人民共和國國家標準《信息交換用漢字編碼字符集 基本集》的簡稱,全稱為 GB 2312-1980。該標準定義了用于簡體中文字符和一些其他字符的編碼方法,而且兼容 ASCII,廣泛應用于中文信息處理系統中。X2p28資訊網——每日最新資訊28at.com

GB2312是一個雙字節編碼字符集,即 GB2312中的所有字符都使用兩個字節進行編碼和存儲,具體編碼結構如下:X2p28資訊網——每日最新資訊28at.com

1.字符范圍

GB2312 總共有 7445個字符,主要包括 6763個漢字和 682個非漢字字符(如 ASCII、拉丁字母、希臘字母、日文假名、符號等)。具體分為以下兩個部分:X2p28資訊網——每日最新資訊28at.com

  • 一級漢字:3755個常用漢字,按拼音順序排列
  • 二級漢字:3008個次常用漢字,按部首/筆畫順序排列
  • 非漢字字符:682個,包括圖形符號、拉丁字母、日文假名、希臘字母、俄文字母、制表符、標點符號等。

2.編碼區間

  • GB2312 將字符集劃分為 94個區(1-94),每區包含 94個位置(1-94)
  • 每個字符由兩個字節表示,第一個字節(高字節)表示區號,第二個字節(低字節)表示位置號
  • 第一個字節范圍:0xA1 - 0xF7
  • 第二個字節范圍:0xA1 - 0xFE

3.舉例說明

GB2312 編碼表可以通過下面這兩個特定的公式計算得到:X2p28資訊網——每日最新資訊28at.com

  • 高字節:0xA1 + 區號 - 1
  • 低字節:0xA1 + 位置號 - 1

以“你好” 為例來演示:X2p28資訊網——每日最新資訊28at.com

“你”在 GB2312編碼表中位于第 36區第 67位:X2p28資訊網——每日最新資訊28at.com

高字節:0xA1 + 36 - 1 = 0xC4低字節:0xA1 + 67 - 1 = 0xE3因此,"你"的 GB2312編碼為 0xC4E3,和 GB2312編碼表中的值可以對應上。

X2p28資訊網——每日最新資訊28at.com

“好”在 GB2312編碼表中位于第 26區第 35位:X2p28資訊網——每日最新資訊28at.com

高字節:0xA1 + 26 - 1 = 0xBA低字節:0xA1 + 35 - 1 = 0xC3因此,"好"的 GB2312編碼是 0xBAC3,和 GB2312編碼表中的值可以對應上。

X2p28資訊網——每日最新資訊28at.com

GBK

隨著互聯網的快速發展,GB2312編碼表中定義的字符已經不夠用了,因此,GB2312的擴展版 GBK編碼表誕生了。X2p28資訊網——每日最新資訊28at.com

GBK是“國標擴展字符集”前 3個漢字拼音首字母的縮寫,全稱是《漢字內碼擴展規范》(Chinese Internal Code Extension, GBK)。GBK字符集是 1993年發布的,它是對 GB2312的擴展。X2p28資訊網——每日最新資訊28at.com

GBK是一個雙字節編碼字符集,每個字符由一個或兩個字節表示。其編碼結構如下:X2p28資訊網——每日最新資訊28at.com

1.字符范圍

  • GBK支持 21003個漢字和圖形字符,涵蓋了漢字、日文假名、韓文、特殊符號等
  • 包括 GB2312的全部字符,以及其他新增的漢字和符號

2.編碼區間

① GBK擴展了 GB2312的編碼范圍,使其支持更多字符X2p28資訊網——每日最新資訊28at.com

② 單字節部分(與 ASCII兼容):0x00 - 0x7FX2p28資訊網——每日最新資訊28at.com

③雙字節部分:X2p28資訊網——每日最新資訊28at.com

  • 第一個字節范圍:0x81 - 0xFE
  • 第二個字節范圍:0x40 - 0xFE(去掉 0x7F)

3.舉例說明

  • 單字節:字符“A”,使用單個字節可以存儲,“A”的 ASCII碼十進制是65,轉換成十六進制為:0x41,二進制為:1000001
  • 雙字節:字符“漢”在 GBK編碼中使用雙字節表示,GBK編碼: BABA,分成兩個字節表示成:0xBA 0xBA

GB18030

GB18030 是國家標準化委員會(SAC)發布的字符編碼標準,是一種用于漢字、漢語拼音、注音符號和漢字部首等文字的字符集和編碼方案,它是繼 GB2312和 GBK 后更強筋的版本。X2p28資訊網——每日最新資訊28at.com

GB18030的特點包括:X2p28資訊網——每日最新資訊28at.com

  • 兼容性:GB18030兼容ASCII、GB2312、GBK以及Unicode等多種編碼方案。
  • 完備性:GB18030收錄了70000多個字符,包括漢字、漢語拼音、注音符號、漢字部首、拉丁字母、數字、標點符號等。
  • 可擴展性:GB18030采用了四字節編碼方案,可以容納未來出現的所有字符。其中漢字使用雙字節或四字節編碼,而非漢字字符則使用單字節或雙字節編碼。

ISO-8859-1

ISO-8859-1,全稱為”ISO/IEC 8859-1”,是國際標準化組織(ISO)和國際電工委員會(IEC)發布的字符編碼標準之一,也被稱為 Latin-1或 Western European (ISO)。它是 ISO-8859系列中的第一個字符編碼標準,旨在支持西歐地區的主要語言,如英語、法語、德語、西班牙語等。X2p28資訊網——每日最新資訊28at.com

ISO-8859-1的特點包括:X2p28資訊網——每日最新資訊28at.com

  • 單字節編碼:ISO-8859-1采用單字節編碼方案,即每個字符占用一個字節(8位),可以表示 256個不同的字符
  • 西歐語言支持:該編碼標準主要針對西歐地區的語言,覆蓋了西歐語言中常用的字符、標點符號和特殊符號
  • ASCII兼容:ISO-8859-1是 ASCII編碼的擴展,完全兼容 ASCII

 ISO-8859-1的一些限制:X2p28資訊網——每日最新資訊28at.com

  • 不支持非拉丁字符集:ISO-8859-1無法表示除拉丁字母外的字符,因此對于不使用拉丁字母的語言,如希臘語、俄語等,需要使用其他字符編碼標準
  • 只支持 256個字符,表示的字符范圍比較小

總的來說,ISO-8859-1是一個針對西歐語言的基本字符編碼標準,雖然在全球范圍內的使用逐漸減少,但在某些特定的場景和遺留系統中仍然可能會遇到。X2p28資訊網——每日最新資訊28at.com

Unicode

上面介紹的字符集,要么是為英語或者西歐使用者設計的,要么是兼容漢字但對其他語言不友好,因此,有沒有一種全球通用并且包含全球所有通用的字符呢?X2p28資訊網——每日最新資訊28at.com

于是,Unicode字符集誕生了!X2p28資訊網——每日最新資訊28at.com

1.Unicode是什么

Unicode,正如它的中文意思“統一碼”一樣,它包含了世界上所有的通用符號(超過 110多萬個符號),而且給每個符號賦予一個獨一無二的編碼,通常表示為:U+后跟一個十六進制數,例如,U+56fd 表示漢字的“國”,U+0639 表示阿拉伯字母 Ain,U+0041 表示英語的字母 A等。X2p28資訊網——每日最新資訊28at.com

2.Unicode存在的問題

Unicode盡管包含了全球所有通用的字符,但它只是統一了所有的字符集,也就是說它只規定了符號的二進制代碼格式,卻沒有規定這個二進制代碼應該如何存儲(編解碼)。X2p28資訊網——每日最新資訊28at.com

比如,Unicode 包含的這些字符集中,有的 1個字節能存儲,有的 2個字節能存儲,有的需要 4個字節才能存儲,因此,對于一個 Unicode字符,計算機如何知道需要采用幾個字節來存儲?基于此局面,急需一套統一的編碼方式。X2p28資訊網——每日最新資訊28at.com

UTF-8

對于 Unicode字符集,通常有 UTF-8,UTF-16,UTF-32等編碼方式。X2p28資訊網——每日最新資訊28at.com

UTF,Unicode Transformation Format(Unicode 轉換格式),而 UTF-8是目前互聯網上使用最廣的一種 Unicode實現方式,因此,本文重點分析 UTF-8。X2p28資訊網——每日最新資訊28at.com

1.可變長度

UTF-8 是一種變長的編碼方式,使用 1~4個字節來表示不同的 Unicode字符:X2p28資訊網——每日最新資訊28at.com

  • 1 字節: 用于編碼 7 位 ASCII 字符,表示范圍:U+0000 到 U+007F,與 ASCII 碼完全兼容
  • 2 字節: 用于編碼 11 位字符,表示范圍:U+0080 到 U+07FF
  • 3 字節: 用于編碼 16 位字符,表示范圍:U+0800 到 U+FFFF
  • 4 字節: 用于編碼 21 位字符,表示范圍:U+10000 到 U+10FFFF

2.字節結構

UTF-8 編碼的字節結構如下:X2p28資訊網——每日最新資訊28at.com

1字節: 0xxxxxxx2字節: 110xxxxx 10xxxxxx3字節: 1110xxxx 10xxxxxx 10xxxxxx4字節: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

通過上述字節結構,可以總結兩個規律:X2p28資訊網——每日最新資訊28at.com

  • 對于單字節的符號,UTF-8編碼和 ASCII碼是相同的:第一位為 0,后面 7位為 Unicode碼
  • 對于n(n >= 2)字節的符號,二進制的第一個字節,最高位有 n個“1”(“1”后面緊跟一位 0),二進制后面的每個字節,前兩位都固定為“10”,xxx部分全部是 Unicode碼

3.舉例說明

(1) 字符 ‘A’ (U+0041)X2p28資訊網——每日最新資訊28at.com

分析:字符’A’的 Unicode是 U+0041,位于 U+0000 到 U+007F之間,因此,一個字節就可以表示,因此,二進制為:01000001,轉成十六進制為:0x41X2p28資訊網——每日最新資訊28at.com

(2) 字符 ‘€’ (U+20AC)X2p28資訊網——每日最新資訊28at.com

分析:字符 ‘€’的 Unicode是 U+20AC,位于 U+0800 到 U+FFFF之間,因此,需要用 3個字節表示,即1110xxxx 10xxxxxx 10xxxxxx,將“20AC”中的每個字符直接轉換成二進制為:0010 0000 1010 1100,然后將它從低位往高位(從右到左)依次替換x,如下圖:X2p28資訊網——每日最新資訊28at.com

X2p28資訊網——每日最新資訊28at.com

這樣得出字符 ‘€’ (U+20AC)用 UTF-8編碼的二進制為:11100010 10000010 10101100,轉換成十六進制為:0xE2 0x82 0xACX2p28資訊網——每日最新資訊28at.com

utf8mb4

使用過 MySQL數據庫的小伙伴對 utf8mb4肯定不陌生,它是 MySQL數據庫中的一種字符集,具體來說是 UTF-8的一個變種,能夠支持所有的 Unicode字符,包括那些需要 4個字節表示的字符(例如某些 emoji表情符號和一些罕見的漢字)。X2p28資訊網——每日最新資訊28at.com

在 MySQL中,utf8字符集最多支持 3個字節的字符,因此,它不能存儲所有的 Unicode字符,而 utf8mb4字符集支持 4個字節的字符,能夠存儲所有的 Unicode字符。X2p28資訊網——每日最新資訊28at.com

因此,在一些涉及聊天業務的場景,utf8mb4字符集經常被使用,主要是用于存儲 emoji表情,比如:

本文鏈接:http://m.www897cc.com/showinfo-26-91516-0.htmlASCII、Unicode、UTF-8、utf8mb4,有啥區別?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 我們一起聊聊C# 開啟線程的四種方式

下一篇: 我們一起聊聊Typescript 泛型入門精髓

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
亚洲一区二区不卡免费| 精品成人一区二区| 欧美日韩精品二区第二页| 欧美日本韩国一区| 国产精品伦子伦免费视频| 国产亚洲精品aa午夜观看| 亚洲高清不卡一区| 亚洲图片你懂的| 久久成人免费网| 欧美好骚综合网| 国产精品欧美经典| 在线观看视频免费一区二区三区| 日韩一级片网址| 欧美一区二区三区在线观看 | 欧美午夜精品伦理| 欧美日本亚洲| 国产一区二区精品| 日韩视频专区| 久久久久久9999| 国产精品福利片| 亚洲第一天堂无码专区| 中文精品视频| 免费成人av资源网| 国产精品美女诱惑| 亚洲国产高清aⅴ视频| 亚洲欧美精品在线| 欧美福利视频一区| 国产一区在线看| 亚洲视频一二区| 欧美二区不卡| 国内精品久久久久久影视8 | 久久夜色精品一区| 国产精品美女xx| 日韩香蕉视频| 看欧美日韩国产| 国产日韩精品在线| 一区二区不卡在线视频 午夜欧美不卡在| 久久er精品视频| 欧美性淫爽ww久久久久无| 在线看国产日韩| 久久gogo国模裸体人体| 国产精品国产三级国产aⅴ浪潮| 亚洲国产精品一区二区第四页av | 欧美精品一区二区三区很污很色的| 国产亚洲女人久久久久毛片| 亚洲无限av看| 欧美日韩精品系列| 91久久久久久| 久久婷婷国产综合精品青草| 国产免费成人在线视频| 亚洲小说春色综合另类电影| 欧美精品久久久久久久| 尤物yw午夜国产精品视频| 欧美一区二区三区在线观看视频| 国产精品ⅴa在线观看h| 亚洲美女中文字幕| 欧美成人久久| 亚洲大片av| 久久夜色精品一区| 激情综合激情| 久久久国产亚洲精品| 国产乱码精品一区二区三区忘忧草| 一区二区日韩| 欧美三区美女| 日韩一二三区视频| 欧美精品一区二区精品网 | 国内精品久久久久国产盗摄免费观看完整版| 亚洲一区二区三区色| 欧美色图首页| 日韩写真视频在线观看| 欧美理论片在线观看| 亚洲欧洲精品一区二区| 免费亚洲视频| 亚洲国产欧美日韩| 欧美大尺度在线观看| 亚洲二区三区四区| 美女视频网站黄色亚洲| 在线播放中文字幕一区| 美女国产一区| 亚洲国产一区视频| 欧美国产日韩免费| 亚洲精品视频中文字幕| 欧美日本国产| 一二美女精品欧洲| 国产精品v日韩精品| 亚洲一卡久久| 国产欧美日韩精品丝袜高跟鞋| 午夜在线观看免费一区| 国产亚洲欧洲997久久综合| 久久久久国产精品一区二区| 激情小说亚洲一区| 免费观看成人www动漫视频| 亚洲欧洲在线看| 欧美午夜不卡在线观看免费| 亚洲影院免费观看| 国产婷婷一区二区| 久久野战av| 日韩一区二区免费高清| 国产精品热久久久久夜色精品三区| 午夜精品久久久久久久蜜桃app| 国产亚洲欧美aaaa| 蜜臀a∨国产成人精品| 日韩视频中文字幕| 国产精品青草久久久久福利99| 欧美在线一二三| 在线成人av.com| 欧美另类视频| 午夜精品一区二区三区在线视| 国产一区二区日韩精品欧美精品| 看欧美日韩国产| 99国内精品久久| 国产模特精品视频久久久久 | 国产精品v欧美精品v日韩精品| 午夜久久99| 亚洲电影免费观看高清完整版| 欧美精品一区二区三区一线天视频| 亚洲天堂成人在线视频| 国产一区二区三区在线免费观看 | 狠狠色综合色区| 欧美日韩不卡视频| 欧美亚洲日本一区| 亚洲国产精品久久| 欧美小视频在线观看| 久久精品夜色噜噜亚洲a∨| 亚洲狠狠丁香婷婷综合久久久| 国产精品国产馆在线真实露脸| 久久在线免费| 亚洲一区二区三区四区五区黄 | 国产精品免费福利| 老司机精品视频网站| 中文在线资源观看视频网站免费不卡| 国产一区二区三区免费观看| 欧美激情亚洲视频| 国产精品成人一区二区艾草| 亚洲在线观看免费| 亚洲第一页自拍| 国产精品男女猛烈高潮激情 | 亚洲欧美日韩国产中文 | 香蕉精品999视频一区二区 | 亚洲国产日韩在线一区模特| 国产精品进线69影院| 久久先锋影音av| 亚洲在线观看免费| 亚洲人成网站在线观看播放| 国产伦理精品不卡| 欧美日本一区二区视频在线观看| 久久国产精品99国产| 亚洲精品美女久久久久| 国产手机视频一区二区| 欧美日韩亚洲国产精品| 久久综合狠狠| 性做久久久久久久久| 99精品视频免费| 亚洲国产精品嫩草影院| 国产农村妇女毛片精品久久莱园子 | 国产亚洲精品久久久久婷婷瑜伽| 欧美日韩高清区| 久久综合导航| 亚洲欧美成人在线| 99re6这里只有精品| 今天的高清视频免费播放成人 | 久久激情综合| 亚洲女同性videos| 夜夜嗨av色一区二区不卡| 精品av久久久久电影| 国产精一区二区三区| 欧美日韩一区二区在线| 免费不卡在线视频| 久久精彩免费视频| 亚洲欧美色一区| 一区二区三区免费看| 亚洲精品国产精品国自产观看浪潮 | 韩国久久久久| 国产欧美精品一区| 国产精品二区在线| 欧美日韩国产三区| 欧美 日韩 国产精品免费观看| 久久精品一区二区| 欧美一区二区三区视频在线| 亚洲午夜精品久久久久久浪潮| 亚洲毛片视频| 亚洲人精品午夜| 亚洲国产高清一区| 国产在线观看一区| 国产亚洲欧美日韩精品| 国产精品你懂的在线欣赏| 欧美日韩美女在线| 欧美日韩国产一区精品一区| 欧美高清在线| 欧美aaaaaaaa牛牛影院| 麻豆精品91| 免费黄网站欧美| 久久只精品国产| 久久综合激情| 久久亚洲风情| 老鸭窝毛片一区二区三区| 久久性天堂网| 免费人成精品欧美精品| 欧美wwwwww| 欧美国产日韩一区二区在线观看| 欧美91大片| 欧美欧美在线| 欧美性片在线观看| 国产精品婷婷|