python的創始人爲吉多·範羅蘇姆(Guido van Rossum)。1989年的聖誕節期間,吉多·範羅蘇姆(中文名字:龜叔)爲了在阿姆斯特丹打發時間,決心開發一個新的腳本解釋程序,做爲ABC語言的一種繼承。
(龜叔:2005年加入谷歌至2012年,2013年加入Dropbox直到如今,依然掌握着Python發展的核心方向,被稱爲仁慈的獨裁者)。java
2019年6月的TIOBE排行榜,Python佔據第三的位置, Python崇尚優美、清晰、簡單,是一個優秀並普遍使用的語言。python
據當前來看Python在TIORB排行榜中,位居第三.Python崇尚優美、清晰、簡單,是一個優秀並普遍使用的語言. Python總體呈上升趨勢,反映出Python應用愈來愈普遍而且也逐漸獲得業內的承認!
Python的主要應用領域:c++
Python在哪些公司被使用:git
1989年,爲了打發聖誕節假期,Guido開始寫Python語言的編譯器。Python這個名字,來自Guido所摯愛的電視劇Monty Python’s Flying Circus。他但願這個新的叫作Python的語言,能符合他的理想:創造一種C和shell之間,功能全面,易學易用,可拓展的語言。web
1991年,第一個Python編譯器誕生。它是用C語言實現的,並可以調用C語言的庫文件。從一出生,Python已經具備了:類,函數,異常處理,包含表和詞典在內的核心數據類型,以及模塊爲基礎的拓展系統。shell
編程語言主要從如下幾個角度爲進行分類,編譯型和解釋型、靜態語言和動態語言、強類型定義語言和弱類型定義語言,咱們主要經過編譯型和解釋性來劃分Python是什麼編程語言編程
編譯型與解釋型vim
編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行時windows
計算機能夠直接以機器語言來運行此程序,速度很快;安全
而解釋器則是隻在執行程序時,才一條一條的解釋成機器語言給計算機來執行,
因此運行速度是不如編譯後的程序運行的快的.
爲何會有編譯型好解釋型語言是由於計算機不能直接認識並執行咱們寫的語句,它只能認識機器語言(是二進制 的形式)
編譯型
解釋型
動態語言和靜態語言
動態類型語言:
動態類型語言是指在運行期間纔去作數據類型檢查的語言,也就是說,
在用動態類型的語言編程時,永遠也不用給任何變量指定數據類型,該語言會在你第一次賦值給變量時,
在內部將數據類型記錄下來。Python和Ruby就是一種典型的動態類型語言,其餘的各類腳本語言如
VBScript也多少屬於動態類型語言。
靜態類型語言:
靜態類型語言與動態類型語言恰好相反,它的數據類型是在編譯其間檢查的,
也就是說在寫程序時要聲明全部變量的數據類型,C/C++是靜態類型語言的典型表明,
其餘的靜態類型語言還有C#、JAVA等。
強類型定義語言和弱類型定義語言
強類型定義語言:
強制數據類型定義的語言。也就是說,一旦一個變量被指定了某個數據類型,若是不通過強制轉換,那麼它就永遠是這個數據類型了。
舉個例子:若是你定義了一個整型變量a,那麼程序根本不可能將a看成字符串類型處理。
強類型定義語言是類型安全的語言。
弱類型定義語言:
數據類型能夠被忽略的語言。它與強類型定義語言相反, 一個變量能夠賦不一樣數據類型的值。強類型定義語言在速度上可能略遜色於弱類型定義語言,可是強類型定義語言帶來的嚴謹性可以有效的避 免許多錯誤。另外,「這門語言是否是動態語言」與「這門語言是否類型安全」之間是徹底沒有聯繫的!
例如:Python是動態語言,是強類型定義語言(類型安全的語言); VBScript是動態語言,是弱類型定義語言(類型不安全的語言); JAVA是靜態語言,是強類型定義語言(類型安全的語言)。
經過上面這些介紹,咱們能夠得出.
Python是一門動態解釋性的弱類型定義語言。
Cpython
Jyhton
IronPython
PyPy(特殊)
看了這麼多內容,感受好厲害已近火燒眉毛的想要動手去試試了,我不得不說,仍是須要在稍等一下.咱們須要安裝一下Python解釋器
Downloads
下載,以下圖向下查找,找到Python 3.6.3
根據當前系統的選擇對用的,紅色的是windows32位,綠色的是windows64位
下載完成後找到下載的目錄,而後用鼠標左鍵雙擊
打開電腦的終端(黑窗口),輸入 python回車進去python解釋器,返回的結果入下圖:
在終端中 >>> 輸入exit() 以下圖:
Windows系統使用Notepad++建立一個文本,文本中的內容以下:
print("hello world")
寫完後必定要記得保存,保存完後咱們打開咱們的終端,Windows系統的找到圖下的兩個鍵:
而後會彈出運行的窗口,咱們在運行的窗口中輸入cmd.
Mac系統的電腦首先打開 啓動臺 — 其餘 — 終端 — 輸入 vim 文件名字 而後按鍵盤i 進行輸入而後退出的時候按一下esc鍵 發現文件的左下角有個: 而後在這個位置輸入wq! 回車就好了,具體的請看圖下實例
咱們如今都打開了終端後再終端中輸入如下命令:
python 文件名.py
注意點:python和文件名是有空格的,再次肯定一下你們的如今是否是都是這個樣子的:
print() 括號裏面的內容就是要輸出的內容,若是是文字和字母須要用英文的引號引發來,數字直接寫就能夠啦
python2寫法: print 'hello world' python3寫法: print('hello world') 咱們學習的python3版本,python2版本是什麼樣也要知道
咱們如今成功的將英文的打印出來了,如今咱們使用這種方式打印一下中文的內容吧!
print("你好 世界")
而後將文件保存了,保存後咱們在來終端上運行一次.是否是都出現報錯了,出現報錯這個是正常的,咱們只須要在加上一句話就能夠了.
#conding:utf-8
這局話必需要加在文件的第一行,這個是告訴解釋器當文件中出現中文的時候使用utf-8的編碼進行查看
什麼是變量?
變量就是把程序運行的中間結果臨時存在內存中,以便後續代碼使用
這個知識點用在哪呢? 變量在咱們後期中常常會被使用
變量如何使用?
name = "meet"
這樣就是在定義一個變量,咱們具體說一下定義變量
name 是一個變量名 = 是一個賦值操做 賦值就是將值交給name 'Meet' 是一個值
變量的做用:暱稱,就是代指內存中某個地址中的內容
咱們定義變量的時候,能夠任意起名字嗎? 應該是有規則的吧,咱們來看看變量定義的規則
變量的定義規則
變量名由字母,數字,下劃線組成
變量名禁止使用數字開頭
禁止使用Python中的關鍵字以及內置函數的名字
關鍵字以下:
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
不建議使用中文和拼音
變量名要具備意義
變量名區分大小寫
推薦寫法:
這是兩種寫法,大家以爲那種的比較清晰.是否是第二種看着比較清晰,第一種猛的一看還覺得是AngelaBaby呢
咱們如今定義一個變量知道了,看看定義多個變量
變量的賦值
name1 = 'Meet' name2 = 'Guo'
此時的name1的值是Meet,name2的值是Guo,咱們來看看下邊的這個變量
如今咱們在內存中開闢了兩個空間,分別給不一樣的內存地址貼上不一樣的標籤,咱們來看看下邊的代碼
name1 = 'Meet' name2 = name1
如今的這個name1是meet,name2是name1 也就是name2如今用的是name1的值,name2的值就是meet
變量的小高級
age1 = 18 age2 = age1 age1 = 12 age3 = age2 print(age1,age2,age3)
咱們先來分析一下這個結果是怎樣的,在運行看結果是否和你想的同樣
若是結果和你想的不一致,你須要注意了.我們代碼的運行是從上至下的執行,而且在內存中只能用一個名字相同的標籤.
age = 12 age = 12 + 1 age1 = age + 1 print("我今年:",age1) name1 = 'alex' name2 = name1 name1 = 'wusir' name3 = name2 打印name1,name2name3分別對應的值是什麼
經過上邊的小高級和練習咱們能夠得出一個宗旨,代碼是從上向下執行,而且便籤只能有一份,至關於一個變量名只能代指一個值
常量就是將變量名大寫,儘可能保持不更改的一種量 這個常量有是幹什麼的呢 其實我生活中就有一些定死了的量 好比生日,身份證等 我們代碼中,也應該有一些這樣的東西,我們從設計之初就是不讓任何人改變的,因此這個東西就是常量。
在你寫代碼時,有些代碼寫的比較經典,或者過於複雜,你一眼看不出來,怎麼辦,好比在文言文中,有些出處或者偏難怪的文字,你是否是不理解? 那麼怎麼辦呢?是否是就得有簡單說明。
註釋就是作這個的,咱們來看一下怎麼用
# 這個就是給這一行進行註釋,註釋後的代碼不會執行 ''' 這種的是多行註釋, 什麼是多行註釋啊,其實很簡單就是我們註釋的內容能夠 進行換行 '''
看個示例:
# print('hello') 這樣就是對這個代碼進行註釋,而且這個代碼不會執行 ''' print(1) print(2) 這種就是多行註釋,這樣的註釋也不會執行 '''
什麼是數據類型?
咱們人類能夠很容易的分清數字與字符的區別,可是計算機並不能呀,計算機雖然很強大,但從某種角度上看又很傻,除非你明確的告訴它,1是數字,「漢」是文字,不然它是分不清1和‘漢’的區別的,所以,在每一個編程語言裏都會有一個叫數據類型的東西,其實就是對經常使用的各類數據進行了明確的劃分,你想讓計算機進行數值運算,你就傳數字給它,你想讓他處理文字,就傳字符串類型給他。Python中經常使用的數據類型有多種,今天咱們暫只講3種, 數字、字符串、布爾類型
int是整型;也就是咱們從小就接觸的數學中的整數,整型在計算機中運於計算和比較
在32位機器上int的範圍是: -231~231-1,即-2147483648~2147483647
在64位機器上int的範圍是: -263~263-1,即-9223372036854775808~9223372036854775807
目前這些數字已經夠你用了吧. 注意這些是整數.
整型
num1 = 2 num2 = 3 print(num1 + num2) # 結果: 5 # 整型就和咱們學的數學同樣能夠進行加減乘除
字符串 str是字符串也就是咱們從小就接觸的中文,若是咱們在程序中直接把中文寫入,程序是不能分辨這是個什麼鬼東西.因此咱們要遵循一種規則讓計算機可以識別,這個規則就是隻要是用引號引發來就是字符串
在Python中,凡是用引號引發來的,全是字符 .
字符 能夠用單引號,雙引號,或者三引號引發來,沒有什麼區別,只是一些特殊的格式須要不用的引號 好比:
msg = "My name is Alex , I'm 22 years old!" 這個就須要單雙引號配合。 msg =""" 今天我想寫首小詩, 來歌頌個人同桌, 你看他那烏黑的短髮, 好像一隻炸毛雞。 """ #想寫多個內容還須要使用換行的時候,就須要三引號。
數字類型能夠作運算,字符串能夠嗎??
字符串加法
#字符串的拼接 s1 = 'a' s2 = 'bc' print(s1 + s2)
字符串乘法
str*int name = '堅強' print(name*8)
布爾值
bool是布爾值,布爾值中一共分爲倆個狀態
True 就是真
False 就是假
例如咱們想讓計算機幫咱們計算一下兩個數的比較大小
print(3>7) 結果: False print(7>3) 結果: True
咱們如今簡單的認識了這三個基礎數據類型,咱們在學習一下用戶輸入
我們在登陸一些網頁和QQ的時候是否是經常會讓我們輸入帳戶或者密碼的狀況,
這樣的狀況在程序中會大量的存在,接下來我們本身實現一個登陸時候要輸入的功能
s = input('請輸入你喜歡的東西')
input就是固定格式,他是輸入的意思 括號裏邊的內容是提示是給用戶看的提示語句,用戶輸入的內容讓input接收了而後賦值給了字符串s
輸入用戶名
#!/usr/bin/env python #-*- coding:utf-8 -*- #將用戶輸入的內容賦值給name變量 python2的寫法 name = raw_input("請輸入用戶名:") print name python3的寫法 name = input("請輸入用戶名:") print(name)
須要注意的是input程序交互獲取到的內容都是字符串,咱們看下面的簡單示例:
num = input('請輸入數字:') print(num + 5) 結果: 請輸入數字:6 Traceback (most recent call last): File "D:/python_object/test.py", line 350, in <module> print(num + 5) TypeError: must be str, not int
報錯了,提示咱們類型錯誤,數字和字符串是不能相加的.但是咱們輸入的明明是數字啊.其實咱們看着輸入的是 數字,可是input獲取到的都是字符串
這個知識點用在哪裏?
在工做中若是須要用戶輸入一些我的信息好比帳號,密碼,性別,愛好等,便是你須要將你輸入的信息傳遞給程序當中,那麼就須要用到用戶交互input。
注意
在Python2 中使用raw_input 獲取的都是字符串 在Python3 中使用input 獲取的都是字符串
你在生活中是否是常常遇到各類選擇,好比玩色子,猜大小,好比選擇走那條路回家?Python程序中也會遇到這種狀況,這就用到了if語句。
這個功能就是Python中的流程控制語句if。 那麼如何使用這個功能呢?(下面就是)
if 條件: #引號是將條件與結果分開。 結果# 四個空格,或者一個tab鍵,這個是告訴程序知足這個條件的結果。切記空格和tab鍵不能混合使用
age = input("輸入年齡:") if int(age) >= 18: print("成年了,能幹成年人的事了")
age = input('請輸入您的年齡:') if int(age) > 18: print('你能夠去網吧盡情的嗨皮了') else: print('你如今還不行啊!')
以上這種寫法是讓用戶輸入內容,而後進行比較,若是一個條件成立那就執行print,爲了明確的區分改執行哪些部分,當條件成立後執行縮進的代碼
而後程序就退出了.下邊的else就不會在執行了
num = input('請輸入要比較的數字:') if int(num) >= 22: print('能夠扯證了') elif int(num) >= 18: print('成年了,能夠幹一些成年的事了') elif int(num) < 18: print('仍是小屁孩')
以上寫法就是咱們作的單選題同樣,三個分支判斷中只要有個成立,其他都不在執行
num = input("請輸入要比較的數字:") if num > 60: print("大了") elif num < 60: print("小了") else: print("猜對了")
name = input('請輸入名字:') if name == 'meet': age = input('請輸入年齡:') if int(age) == 18: print('輸入所有正確') else: print('年齡輸入錯誤!') else: print('名字輸入錯誤!')
這樣寫法很經常使用,這樣咱們就能夠明確的知道用戶輸入的名字和年齡那個是錯誤的,而且還作一個判斷若是名字正確後在進行判斷密碼
首先要下載Pycharm這個軟件,官網的下載地址是: http://www.jetbrains.com/pycharm/download/#section=windows
選擇左邊的點擊進行下載,左邊的是專業版右邊是社區版
出現這個頁面就是正在下載,稍微喝杯茶等等
選擇Next 點擊
我是64位機器,我選擇了64,若是是32的就選擇32 [無論64仍是32剩下的都選擇]
出現這個界面的直接點擊Finish關閉就能夠了. 咱們如今切換到桌面
找到這個圖標而後雙擊
激活詳情http://idea.lanyus.com/頁面
點擊選擇的內容生成激活碼,而後將激活碼複製到code選項中
這個直接關閉就能夠了
若是你的激活碼沒問題的話,會在個性化,主題設置完畢以後,通過短暫的加載(加載速度取決於電腦性能)進入如圖頁面,到這一步,PyCharm安裝完成了
File -- Settings -- Project -- Project Interpreter,這裏會顯示當前系統默認的解釋器,若是要添加別的解釋器,點擊工具圖標,Add local -- Existing environment,點擊三點圖標,在打開的本地文件目錄中選擇解釋器文件的.exe文件。就好了,若是你沒有選擇, PyCharm會自動選擇當前環境默認的解釋器
鼠標放到大綱而後右鍵鼠標,出現一個New而後鼠標向右滑動選擇python file點擊左鍵
直接寫文件的名字就能夠了,寫完後回車就搞定了.
while 循環 在生活中,咱們遇到過循環的事情吧?好比循環聽歌。在程序中,也是存才的,這就是流程控制語句 while
while 條件: # 循環體 # 若是條件爲真,那麼循環則執行 # 若是條件爲假,那麼循環不執行
條件若是爲真就會一直執行下去 也就人們常說的死循環,咱們想要中止就點那個紅色的方塊,若是點擊的x的話,程序並無中止,還在繼續運行着
咱們可使用while循環進行內容循環,咱們怎麼可以讓程序中止運行?
剛剛說到,死循環是由於條件一直都爲真的時候,若是想讓while循環中止最簡單的方式就是將條件修改爲假的,看下面示例
flage = True str_num = input("請輸入要比較的數字:") print("進入循環") while flage: if "3" > str_num: print("在執行循環") else: print("要終止循環") flage = False print("退出循環")
咱們如今知道能夠經過變量的形式改變while循環,咱們還能夠經過計數的方式來控制循環執行循環的次數,先來看一下
count = 0 while True: count = count + 1 print(count)
這樣下去我就會執行下去,可是我想到100就停了
count = 0 while count < 100: count = count + 1 print(count)
while 關鍵後邊的是條件,這樣就能夠經過條件成功的控制住循環的次數,咱們如今知道經過修改while後邊的內容來終止循環,這是我們本身想的辦法,python這個編程語言中是否是應該也得有個終止循環的關鍵字什麼的吧,咱們來找一下試試
咱們除了可使用條件可以讓循環中止,其實Python還給咱們提供了一個break關鍵字來中止循環
num = 1 while num <6: print(num) num+=1 break print("end")
當程序執行到break的時候就結束了.break就是結束當前這個while循環的 break如下的代碼都不執行
continue 用於退出當前循環,繼續下一次循環
num = 1 while num <6: print(num) num+=1 continue print("end")
注意:break是終止循環,continue是跳出本次循環,繼續下次循環
# 循環一 while True: if 3 > 2: print('你好') break else: print('很差') # 循環二 while True: if 3 > 2: print('你好') print('很差') # 你們看到的這個是否是感受效果是同樣的啊,其實否則 # 當上邊的代碼執行到break的時候else縮進後的內容不會執行
這個執行的效果是由於
循環一執行了循環也執行了if條件打印了你好而後碰到break循環結束了 循環二執行了循環也執行了if條件打印了你好,可是沒有break 就繼續重複執行了 循環一將3>2改爲3<2這個條件就不成立,而後執行了else裏打印了很差
首先讓用戶輸入序號選擇格式以下:
0.退出 1.開始登陸 若是用戶選擇序號0 就提示用戶退出成功 若是用戶選擇序號1就讓用戶輸入用戶名密碼而後進行判斷,正確就終止循環,錯誤從新輸入
如今有個須要咱們錄入咱們身邊好友的信息,格式以下:
------------ info of Alex Li ---------- Name : Alex Li Age : 22 job : Teacher Hobbie: girl ------------- end ----------------
咱們如今能想到的辦法就是用一下方法:
name = input('請輸入姓名:') age = input('請輸入年齡:') job = input('請輸入職業:') hobby = input('請輸入愛好:') a = '------------ info of Alex Li ----------' b = 'Name:' c = 'Age:' d = 'Job:' e = 'Hobby:' f = '------------- end ----------------' print(a+ '\n'+ b+ name+ '\n'+ c+ age+ '\n'+ d+ job+ '\n'+ e+ hobby+ '\n'+ f) # 運行結果 ------------ info of Alex Li ---------- Name:meet Age:18 Job:it Hobby:3 ------------- end ----------------
這樣寫徹底沒有問題,可是會不會比較繁瑣呢,有些大佬確定會想這不都實現了嗎,還逼叨逼什麼啊,那是沒有體驗過格式化輸出有多霸道,咱們如今來體驗下霸道的姿式
name = input('請輸入姓名:') age = input('請輸入年齡:') job = input('請輸入職業:') hobby = input('請輸入愛好:') msg = ''' ------------ info of Alex Li ---------- Name : %s Age : %s job : %s Hobbie: %s ------------- end ---------------- ''' print(msg%(name,age,job,hobby))
咱們但從代碼的數量來看,這樣就比那樣的少,看到這裏有細心的老鐵們確定在想%s這是啥玩意?
% 是一個佔位, 回想下咱們小時候給朋友佔位子的場景,是的這個就是佔位.那s又是什麼呢? s代碼的字符串類型;
name = input('>>>') s1 = '1234%d'%int(name) s2 = '1234%i'%int(name) print(s1) print(s2) 結果: >>>89 123489 123489 # %d和%i這種格式化只能用數字來填補佔位
num = input('>>>') s= '目前學習進度:%s%%'%num print(s) 結果: >>>80 目前學習進度:80% # 若是咱們字符串中想要顯示單獨的%就須要用來個%%來轉義,否則程序會認爲那是一個佔位
計算機能夠進行的運算有不少種,可不僅加減乘除這麼簡單,運算按種類可分爲算數運算、比較運算、邏輯運算、賦值運算、成員運算、身份運算、位運算.
今天咱們暫只學習 算數運算、比較運算、邏輯運算、賦值運算、成員運算
如下假設變量:a=10,b=20
如下假設變量:a=10,b=20
如下假設變量:a=10,b=20
針對邏輯運算的進一步研究:
在沒有()的狀況下not 優先級高於 and,and優先級高於or,即優先級關係:
( )>not>and>or,同一優先級從左往右計算。
例題:
判斷下列邏輯語句的True,False。
x or y , x爲真,值就是x,x爲假,值是y;
x and y, x爲真,值是y,x爲假,值是x。
3>4 or 4<3 and 1==1 1 < 2 and 3 < 4 or 1>2 2 > 1 and 3 < 4 or 4 > 5 and 2 < 1 not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
例題:求出下列邏輯語句的值。
8 or 4 0 and 3 0 or 4 and 3 or 7 or 9 and 6
in not in :
判斷子元素是否在原字符串(字典,列表,集合)中:
例如:
#print('喜歡' in 'dkfljadklf喜歡hfjdkas') #print('a' in 'bcvd') #print('y' not in 'ofkjdslaf')
我們的電腦,存儲和發送文件,發送的是什麼?電腦裏面是否是有成千上萬個二極管,亮的表明是1,不亮的表明是0,這樣實際上電腦的存儲和發送是否是都是010101啊
咱們發送的內容都是010101010這樣寫的內容比較多就不知道是什麼了,因此咱們想要明確的區分出來發送的內容就須要
在某個地方進行分段.計算機中設定的就是8位一斷句
計算機: 儲存文件,或者是傳輸文件,其實是010101010 計算機建立初期,美國,是7位一段,可是發明者說爲了拓展,留出一位,這樣就是8位一段句。8位有多少種可能 ?256 密碼本: ascii 00000001 01000001 01000010 01000011 ABC
隨着計算機的發展. 以及普及率的提升. 流⾏到歐洲和亞洲. 這時ASCII碼就不合適了. 好比: 中⽂漢字有幾萬個. 而ASCII 多也就256個位置. 因此ASCII不行了. 怎麼辦呢? 這時, 不一樣的國家就提出了不一樣的編碼用來適用於各自的語言環境. 好比, 中國的GBK, GB2312, BIG5, ISO-8859-1等等. 這時各個國家均可以使用計算機了.
GBK, 國標碼佔用2個字節. 對應ASCII碼 GBK直接兼容. 由於計算機底層是用英文寫的. 你不支持英文確定不行. 而英文已經使用了ASCII碼. 因此GBK要兼容ASCII. 這裏GBK國標碼. 前⾯的ASCII碼部分. 因爲使⽤兩個字節. 因此對於ASCII碼⽽言. 前9位都是0
字母A:0100 0001 # ASCII 字母A:0000 0000 0100 0001 # 國標碼
隨着全球化的普及,發展到歐洲,亞洲等國家,發現這些根本不夠用,因此建立了萬國碼。 由於全球語言不少,ascii不足以存儲這麼多對應關係,建立了一個超級密碼本:萬國碼unicode
8 位 == 1個字節. hello h一個字符,e一個字符,he就不是一個字符. 中國:中是一個字符,國是一個字符.
unicode
建立之初,16位,2個字節,表示一個字符. 英文: a b c 六個字節 一個英文2個字節 中文 中國 四個字節 一箇中文用2個字節
可是這種也不行,這種最多有65535種可能,但是中國文字有9萬多,因此改爲 32位,4個字節,表示一個字符.
a 01000001 01000010 01000011 00000001 b 01000001 01000010 01100011 00000001 中 01001001 01000010 01100011 00000001 浪費資源.
UTF-8
對Unicode進行升級: utf-8 utf-8 用最少用8位數,去表示一個字符. 英文: 8位,1個字節表示. 歐洲文字: 16位,兩個字節表示一個字符. 中文,亞洲文字: 24位,三個字節表示.
utf-16 用最少用16位數。
gbk: 國標,只能中國人本身用, 一箇中文用16位,兩個字節表示。
8bit = 1byte 1024byte = 1KB 1024KB = 1MB 1024MB = 1GB 1024GB = 1TB 1024TB = 1PB 1024TB = 1EB 1024EB = 1ZB 1024ZB = 1YB 1024YB = 1NB 1024NB = 1DB 常⽤到TB就夠了