1. 程式人生 > >ASCII、Unicode和UTF-8編碼的區別

ASCII、Unicode和UTF-8編碼的區別

歸納:

編碼大小支援語言
ASCII 1個位元組 英文
Unicode 2個位元組(生僻字4個) 所有語言
UTF-8 1-6個位元組,英文字母1個位元組,漢字3個位元組,生僻字4-6個位元組 所有語言

具體解釋:

最早只有127個字母被編碼到計算機裡,也就是大小寫英文字母、數字和一些符號,這個編碼表被稱為ASCII編碼,比如大寫字母A的編碼是65,小寫字母z的編碼是122。

但是要處理中文顯然一個位元組是不夠的,至少需要兩個位元組,而且還不能和ASCII編碼衝突,所以,中國製定了GB2312編碼,用來把中文編進去。

你可以想得到的是,全世界有上百種語言,日本把日文編到Shift_JIS裡,韓國把韓文編到Euc-kr裡,各國有各國的標準,就會不可避免地出現衝突,結果就是,在多語言混合的文字中,顯示出來會有亂碼。

因此,Unicode應運而生。Unicode把所有語言都統一到一套編碼裡,這樣就不會再有亂碼問題了。

Unicode標準也在不斷髮展,但最常用的是用兩個位元組表示一個字元(如果要用到非常偏僻的字元,就需要4個位元組)。現代作業系統和大多數程式語言都直接支援Unicode。

新的問題又出現了:如果統一成Unicode編碼,亂碼問題從此消失了。但是,如果你寫的文字基本上全部是英文的話,用Unicode編碼比ASCII編碼需要多一倍的儲存空間,在儲存和傳輸上就十分不划算。

所以,本著節約的精神,又出現了把Unicode編碼轉化為“可變長編碼”的UTF-8編碼。UTF-8編碼把一個Unicode字元根據不同的數字大小編碼成1-6個位元組,常用的英文字母被編碼成1個位元組,漢字通常是3個位元組,只有很生僻的字元才會被編碼成4-6個位元組。如果你要傳輸的文字包含大量英文字元,用UTF-8編碼就能節省空間。

UTF-8編碼有一個額外的好處,就是ASCII編碼實際上可以被看成是UTF-8編碼的一部分,所以,大量只支援ASCII編碼的歷史遺留軟體可以在UTF-8編碼下繼續工作。

轉載自:https://blog.csdn.net/u012223913/article/details/51772610

相關推薦

【轉載】字元編碼ASCIIUnicodeUTF-8區別

1. ASCII碼 我們知道,在計算機內部,所有的資訊最終都表示為一個二進位制的字串。每一個二進位制位(bit)有0和1兩種狀態,因此八個二進位制位就可以組合出256種狀態,這被稱為一個位元組(byte)。也就是說,一個位元組一共可以用來表示256種不同的狀態,每一個狀態對應一個符

編碼方式ASCIIUnicodeUTF-8區別及聯絡

最早的計算機在設計時採用8個位元(bit)作為一個位元組(byte),所以,一個位元組能表示的最大的整數就是255(二進位制11111111=十進位制255),如果要表示更大的整數,就必須用更多的位元組。比如兩個位元組可以表示的最大整數是65535,4個位元組可以表示的最大整

ASCIIUnicodeUTF-8編碼區別

歸納: 編碼大小支援語言 ASCII 1個位元組 英文 Unicode 2個位元組(生僻字4個) 所有語言 UTF-8 1-6個位元組,英文字母1個位元組,漢字3個位元組,生僻字4-6個位元組 所有語言 具體解釋: 最早只有127個字母被編碼到計算機裡,也就是大小寫英文字母、數字和一

ASCIIUnicodeUTF-8編碼區別;中英文混合擷取

摘要總結: ASCII編碼是128個字元 中國把漢字編入GB2312,Shift_JIS/Euc-kr各國標準..... Unicode是為了解決各國亂碼的,但浪費儲存空間 UTF-8編碼把一個Unicode字元根據不同的數字大小編碼成1-6位元組,英文字母是1位元組,漢字

Java 字符編碼 ASCIIUnicodeUTF-8

之間 family 打印 com 但是 例如 進制數 英語 utf-16   1 ASCII碼   統一規定英語字符與二進制位之間的關系。ASCII碼一共規定了128個字符的編碼。例如,空格“SPACE”是32(二進制00100000),大寫字母A是65(二進制010000

三種常見字元編碼ASCIIUnicodeUTF-8

什麼是字元編碼? 計算機只能處理數字,如果要處理文字,就必須先把文字轉換為數字才能處理。最早的計算機在設計時採用8個位元(bit)作為一個位元組(byte),所以,一個位元組能表示的最大的整數就是255(二進位制11111111=十進位制255),如果要表示更大的整數,就必須用更多的位元組。比如

字元編碼ASCIIUnicodeUTF-8

一、什麼是字元編碼?        字元編碼(英語:Character encoding)也稱字集碼,是把字符集中的字元編碼為指定集合中某一物件(例如:位元模式、自然數序列、8位組或者電脈衝),以便文字在計算機中儲存和通過通訊

字元編碼ASCIIUnicodeUTF-8區別及理解

1. ASCII碼         我們知道,在計算機內部,所有的資訊最終都表示為一個二進位制的字串。每一個二進位制位(bit)有0和1兩種狀態,因此八個二進位制位就可以組合出256種狀態,這被稱為一個位元組(byte)。也就是說,一個位元組一共可以用來表示256種不同的狀

【字元編碼ASCIIUnicodeUTF-8

1. ASCII碼 我們知道,在計算機內部,所有的資訊最終都表示為一個二進位制的字串。每一個二進位制位(bit)有0和1兩種狀態,因此八個二進位制位就可以組合出256種狀態,這被稱為一個位元組(byte)。也就是說,一個位元組一共可以用來表示256種不同的狀態,每一個狀態對

ASCIIunicodeUTF-8的起源

很久很久以前,有一群人,他們決定用8個可以開合的電晶體來組合成不同的狀態,以表示世界上的萬物。他們看到8個開關狀態是好的,於是他們把這稱為"位元組"。 再後來,他們又做了一些可以處理這些位元組的機器,機器開動了,可以用位元組來組合出很多狀態,狀態開始變來變去。他們看到這樣是好的,於是它們就這機器

那些標準記錄,wkt wkb gml json,ASCIIUnicodeUTF-8

一,地理資訊標記語言 OGC的標準格式有:WKT(熟知文字)、WKB(熟知二進位制)和GML(地理標識語言)。json是 JS 一種輕量級的資料交換格式。 表現形式:   WKT  POINT(-111.870478 33.685992)  WKB 是WKT二級製

字元編碼:ANSIASCII區別UnicodeUTF-8區別

ANSI和ASCII區別 ANSI碼(American National Standards Institute) 美國國家標準學會的標準碼 ASCII碼(America Standard Code

字元編碼ANSIASCII區別UnicodeUTF-8區別

今天看了一個說法,說是入坑windows程式開發,必先掌握文字的編碼和字符集知識。本部落格就整理下資訊儲存和字元編碼的相關知識。 一.位: 計算機儲存資訊的最小單位,稱之為位(bit),音譯位元,二進位制的一個“0”或一個“1”叫一位。 二.位元組 位元

字符編碼ANSIASCII區別UnicodeUTF-8區別

span 編輯 日本 發展 不同語言 保存 code 導致 style ANSI碼ANSI編碼是一種對ASCII碼的拓展:ANSI編碼用0x00~0x7f (即十進制下的0到127)範圍的1 個字節來表示 1 個英文字符,超出一個字節的 0x80~0xFFFF 範圍來表示其

字符編碼ASCIIUnicodeUTF-8的理解

F5 標準化 一般來說 簡書 打開文件 說了 tps can 常用 首先我們先要明白的兩點是:1、計算機中的信息都是由二進制的0和1儲存的;2、我們再計算機屏幕上看到的各種字符都是計算機系統按照一定的規則將二進制數字轉換而來的。 一、基本概念。 1、字符集(charse

字符編碼筆記:ASCIIUnicode UTF-8

evel IE 閑置 for 之一 問題: window bit tar 作者: 阮一峰 日期: 2007年10月28日 今天中午,我突然想搞清楚 Unicode 和 UTF-8 之間的關系,就開始查資料。 這個問題比我想象的復雜,午飯後一直看到晚上9點,才算初步搞清楚

字元編碼ASCIIUnicode UTF-8

一、ASCII 碼 我們知道,計算機內部,所有資訊最終都是一個二進位制值。每一個二進位制位(bit)有0和1兩種狀態,因此八個二進位制位就可以組合出256種狀態,這被稱為一個位元組(byte)。也就是說,一個位元組一共可以用來表示256種不同的狀態,每一個狀態對應一個符號,就是256個符號,從0

關於字元編碼asciiunicodeutf-8

轉自:https://foofish.net/unicode_utf-8.html   阮一峰老師對普及計算機基礎技術功不可沒,但畢竟老師不是神,因此也避免不了對某些概念有一些錯誤的理解,《字元編碼筆記:ASCII,Unicode 和 UTF-8 》 是阮老師10年前寫的一篇關於字元編

字元編碼(ASCIIUnicodeUTF-8) 大小端

本文包括2部分內容:“ASCII,Unicode和UTF-8” 和 “Big Endian和Little Endian”。 第1部分 ASCII,Unicode和UTF-8 介紹 1. ASCII碼 我們知道,在計算機內部,所有的資訊最終都表示為一個二進位制的字串。每一個二進位制位(bit)有0和1

字元編碼筆記:ASCIIUnicode UTF-8

今天中午,我突然想搞清楚 Unicode 和 UTF-8 之間的關係,就開始查資料。 這個問題比我想象的複雜,午飯後一直看到晚上9點,才算初步搞清楚。 下面就是我的筆記,主要用來整理自己的思路。我儘量寫得通俗易懂,希望能對其他朋友有用。畢竟,字元編碼是計算機技術的基石,想要熟練使用計算機,就必須懂得一點字元編