ISO-8859-1 、Latin-1 西歐編碼介紹及應(yīng)用
這些編碼,早些時(shí)候在一些應(yīng)用軟件中經(jīng)常看到,估計(jì)很多朋友也看到了,這些編碼了!
從這個(gè)圖,我們可以看到這類編碼應(yīng)用很廣泛,那么我們一起看看,iso-8859-1字符集,到底是什么樣字符集,有那些字符!為什么,它應(yīng)用可以這么廣泛!
計(jì)算機(jī)上面流行第一個(gè)字符集,是ascii碼,是0-127 一個(gè)128字符。每個(gè)字符在里面有個(gè)對應(yīng)編號,分別是0-127。如果用二進(jìn)制表示,剛好是7位。這個(gè)字符集,在前期表示英文字符已經(jīng)足夠。后來,隨著計(jì)算機(jī)普及,越來越多國家(歐洲),開始應(yīng)用計(jì)算機(jī),他們發(fā)現(xiàn)7位,共128字符。已經(jīng)不能描述他們常用的字符了。因此想到要兼容ascii字符集,就指定了擴(kuò)展ASCII字符集。最多是0-255,256個(gè)字符。其中0-127 128字符及位置編碼 完全兼容ascii碼。只是擴(kuò)展了128-255位置編入了新字符!
該字符集,完全兼容ascii字符集,并且是剛好可以用一個(gè)字節(jié)表示里面所有字符位置。又稱為擴(kuò)展Ascii碼!這也是第一個(gè)iso-8859-1字符集。又叫:Latin-1 編碼(西歐編碼),后來陸續(xù)出了iso-8859-2…-15字符集。都是完全兼容ascii碼的。
說下幾個(gè)概念吧,什么是字符集,什么是字符編碼?
1、字符集,表示由一些指定的字符的所組成集合!ascii字符集,里面有128個(gè)字符
2、字符編碼,每個(gè)字符集中字符,都有一個(gè)固定的編號,也叫該字符在字符集中的的編碼!如:ascii字符集中,a 字符編碼是97。
相同字符,會出現(xiàn)在多個(gè)字符集中嗎,相同字符在不同字符集中編碼一樣嗎?
從上面例子,我們可以看到,ascii字符集、iso-8859-1字符集 有128個(gè)字符相同的。經(jīng)常相同的字符,可以出現(xiàn)在各個(gè)字符集中。但是,每個(gè)字符集對字符編號方式可能不同,因此,相同字符,在不同字符集中,編碼結(jié)果可能不一樣。當(dāng)然,也有一樣的!象ascii中所有字符編碼,在iso-8859-1字符集中,都一樣的。
弄清楚關(guān)于、字符集,字符編碼概念。我們還有幾個(gè)必須掌握的。就是,計(jì)算機(jī)是怎么樣儲存,顯示字符的呢?
一個(gè)文件有很多符號組成,各式各樣的!實(shí)際,計(jì)算機(jī)在存儲時(shí)候,只是寫入該字符所對應(yīng)的字符編碼值。將它存于磁盤或者在網(wǎng)絡(luò)中傳輸!如果要顯示時(shí)候,通過對應(yīng)字符集中,字符編碼值。然后可以轉(zhuǎn)換到計(jì)算機(jī) 通用的字符集的對應(yīng)字符編碼。計(jì)算機(jī)每個(gè)字符形狀,圖像長相,都在字體中。然后,通過轉(zhuǎn)換得到通用字符集的字符編碼,找到對應(yīng)的字符,及字體形狀,然后顯示出來!
字符在計(jì)算機(jī)存儲、傳輸都是該字符所在字符集中編碼值
好了,中間我們對字符概念做了很多的闡述、說明!下面,我們繼續(xù)本頁主題iso-8859-1字符集了。 它為什么能夠這么廣泛應(yīng)用呢?
我們知道,單字節(jié)最多可以表示256字符,實(shí)際上很多字符(目前unicode有幾十萬字符),都需要用多個(gè)字節(jié)來存儲!計(jì)算機(jī)在存儲傳輸都以字節(jié)為單位!因此單字節(jié)的: iso-8859-1 是存儲的最小單元。所以,無論你是多少個(gè)字節(jié)組成的字符,以單字節(jié)一個(gè)一個(gè)存儲、傳輸!都不會改變原來的值,都可以很好保存它的值!計(jì)算機(jī)亂碼,出現(xiàn)在顯示的時(shí)候,在不正確的字符集中,查找對應(yīng)字符編碼的字符!經(jīng)常是,編碼選擇字符集,跟做顯示選擇字符集不一致造成的!
在復(fù)制文件、傳輸文件不會造成字符編碼問題。而出現(xiàn)問題時(shí)候,是字符做顯示,或者將顯示字符存儲的時(shí)候,會出現(xiàn)問題!好了,這里面說的是iso-8859-1 其實(shí),更多的是說說,字符編碼的一些常識!明白這些,對于iso-8859-1的一些特點(diǎn)理解,可能 更容易了!
可能以前有朋友就問,我mysql是存中文的,為什么我選擇字符集是Latin-1 ,是不是就出現(xiàn)亂碼了。其實(shí)不會,它只是將接到任何字節(jié),按照單字節(jié),逐個(gè)逐個(gè)存儲的。然后,讀取時(shí)候,也逐個(gè)逐個(gè)字節(jié)的讀出。沒有改變?nèi)魏伪4鎯?nèi)容,也沒有做任何編碼轉(zhuǎn)換!這是,最為安全的!好了,就到這里了,歡迎朋友們交流!
相關(guān)文章
Typora?免費(fèi)版下載安裝入門使用教程(超簡單親測適用于Windows)
Typora是一款輕便簡潔的Markdown編輯器,支持即時(shí)渲染技術(shù),這也是與其他Markdown編輯器最顯著的區(qū)別,這篇文章主要介紹了Typora?免費(fèi)版下載安裝(超簡單親測適用于Windows)與入門,需要的朋友可以參考下2023-09-09一張圖告訴你計(jì)算機(jī)編程語言的發(fā)展歷史
這篇文章主要介紹了一張圖告訴你計(jì)算機(jī)編程語言的發(fā)展歷史,也可看作是計(jì)算機(jī)的發(fā)展歷史大事記,需要的朋友可以參考下2015-07-07iisschlp.wsc [88,25] 屬性值無效 : progid
今天在運(yùn)行iisapp.vbs時(shí)候提示W(wǎng)indows Script Component - file://C:WINDOWSsystem32iisschlp.wsc [88,25] 屬性值無效 : progid,原來是因?yàn)榘踩O(shè)置惹的禍,以前就是因?yàn)檫@個(gè)一直沒解決2014-07-07IDEA取消git對項(xiàng)目的版本控制的實(shí)現(xiàn)
取消Git版本控制可以簡化代碼管理流程、減少學(xué)習(xí)成本、簡化代碼庫管理、提高代碼安全性、加快構(gòu)建和部署速度,本文主要介紹了IDEA取消git對項(xiàng)目的版本控制的實(shí)現(xiàn),感興趣的可以了解一下2023-11-11win10安裝Anaconda+tensorflow2.0-CPU+Pycharm的圖文教程
本文通過圖文并茂的形式給大家介紹了win10安裝Anaconda+tensorflow2.0-CPU+Pycharm的教程,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12ol7.7安裝部署4節(jié)點(diǎn)hadoop 3.2.1分布式集群學(xué)習(xí)環(huán)境的詳細(xì)教程
這篇文章主要介紹了ol7.7安裝部署4節(jié)點(diǎn)hadoop 3.2.1分布式集群學(xué)習(xí)環(huán)境,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07