036 字符編碼

字符編碼

1.計算機基礎

1.cpu :控制程序的運行(從內存中取出文本編輯器的數據讀入內存)python

2.內存:運行程序(通過cpu操做後,內存中含有文本編輯器的數據)windows

3.硬盤:存儲數據(文本編輯器)編輯器

應用程序的任何操做硬件的請求都須要向操做系統發起系統調用,而後由操做系統取操做硬件編碼

2.文本編輯器

計算機只認識 0和1操作系統

文本編輯器的做用:讀寫數據,保存數據code

  1. 打開文本編輯器就時啓動了一個進程,是在內存中的,因此,用編輯器編寫的內容也都是存放與內存中的,斷電後數據就會丟失。
  2. 要想永久保存,須要保存文件,把編輯器在內存的數據就存到了到了硬盤上。
  3. 在咱們編寫一個pyrthon的py文件沒有執行時,跟編寫其餘文件沒有任何區別,都只是在編寫一堆字符而已。

python解釋器具備文本編輯器的功能進程

3.字符編碼

1.在早期咱們不一樣的國家都是用不一樣的編碼格式來使用計算機,編寫文件以及使用文件的。那最開始咱們每一個國家用着不一樣的編碼,也就是說每一個國家的編碼時不能夠相互轉換的,也就是若是隻用一個國家的編碼的話,那日他國家的編碼在文字解析的時候就會出現亂碼。因此就出現了一種可以認識全世界的語言,也就是它可以解析任何一個國家編碼格式的文字,這種語言就是Unicode內存

2.咱們的文件最開始都是以不一樣的編碼格式存在硬盤中的,當咱們須要一個任何格式編碼的文件的數據時,咱們並非直接就能把它打開並讀取到文件中的數據的,咱們須要把這個文件先放到內存中去而後用可以認識全世界語言的Unicode去解析這個文件。unicode

3.可是因爲unicode在解析文件以後進行文件在硬盤存儲的時候,它會浪費大量的時間和內存空間,那這個時候有出現了一個基於unicode的可變長編碼UTF8,咱們把unicode形式編碼在轉換成UTF8形式的編碼,可是UTF8時只認識unicode編碼的,咱們不能夠直接的將咱們索要讀取的文件直接用UTF8去解析,不然也會出現亂碼。字符編碼

4.何時會亂碼

1.編碼格式不統一的時候

2.文件編輯器只認識一種固定的編碼格式,你卻用另外一種編碼格式輸入數據的時候。--文件的存儲

3.文件存儲的時候用的是一種固定的編碼格式,可是你卻用另外一種編碼格式打開。--文件的讀取

5.如何解決亂碼

什麼格式存儲,就什麼格式讀取,就不會出現亂碼的狀況

windows電腦的記事本文件默認爲gbk編碼,除此以外都是utf8格式

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息