字元編碼和二進位制

2022-09-08 14:36:14 字數 943 閱讀 2897

python直譯器在載入 .py 檔案中的**時,會對內容進行編碼(預設ascill)。python3現在編碼是unicode.

ascii(american standard code for information interchange,美國標準資訊交換**)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言,其最多只能用 8 位來表示(乙個位元組)

即:2**8 = 256-1,所以,ascii碼最多只能表示 255 個符號。

ascii碼只能表示255個符號無法將世界上的各種文字和符號全部表示,所以,就需要新出一種可以代表所有字元和符號的編碼,即:unicode

unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字元編碼。unicode 是為了解決傳統的字元編碼方案的侷限而產生的,它為每種語言中的每個字元設定了統一並且唯一的二進位制編碼,

規定雖有的字元和符號最少由 16 位來表示(2個位元組),即:2 **16 = 65536

utf-8,是對unicode編碼的壓縮和優化,他不再使用最少使用2個位元組,而是將所有的字元和符號進行分類:ascii碼中的內容用1個位元組儲存、歐洲的字元用2個位元組儲存,東亞的字元用3個位元組儲存.

報錯:ascii碼無法表示中文

1

#!/usr/bin/env python23

print

"你好,世界

"

改正:在檔案開頭指定編碼用什麼編碼來執行源**:

1

#!/usr/bin/env python2#

-*- coding: utf-8 -*-34

print

"你好,世界

"

python3現在預設是unicode.可以不指定編碼也可以顯示中文

二進位制編碼知識

對於整型資料,二進位制的表示為符號位 數值位,對於浮點型資料,十進位制轉二進位制的方式如下 將十進位制浮點型資料轉換為二進位制時分別將整數部分和小數部分轉化為二進位制 對於整數部分,每次除2取餘直到商為0,第乙個除法所得餘數為最低位。即將餘數反序排列 對於小數部分,每次將其小數字乘以2,取其整數字,...

二進位制編碼 小記

byte 範圍 128 127 16進製制 0xff 二進位制 1111 1111 int 256 解為 首一位為符號位 整體取反碼 0000 0000 加1 為0000 0001 為1 加上符號為 byte 1 例如 16進製制 0x7f 二進位制 0111 1111 int 127 解為 首一位...

二進位制的編碼

假設有乙個只有4位的二進位制 0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111,共16個數,來表示 8到7共16個數。很自然的我們想到用0000 0111來表示0 7.8到 1該用誰來表示呢...