"一個用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉換到一個你的計算機使用的語言(二進制代碼,即0和1)。這個過程通過編譯器和不同的標記、選項完成。當你運行你的程序的時候,連接/轉載器軟件把你的程序從硬盤復制到內存中并且運行。
而Python語言寫的程序不需要編譯成二進制代碼。你可以直接從源代碼
運行
程序。在計算機內部,Python解釋器把源代碼轉換成稱為字節碼的中間形式,然后再把它翻譯成計算機使用的機器語言并運行。事實上,由于你不再需要擔心如何編譯程序,如何確保連接轉載正確的庫等等,所有這一切使得使用Python更加簡單。由于你只需要把你的Python程序拷貝到另外一臺計算機上,它就可以工作了,這也使得你的Python程序更加易于移植。"
--《簡明Python教程》
字節是電腦里的數據量單位
字節碼(Byte-code)是一種包含執行程序、由一序列 op
代碼/數據對組成的二進制文件。字節碼是一種中間碼,它比機器碼更抽象。它經常被看作是包含一個執行程序的二進制文件,更像一個對象模型。字節碼被這樣叫是因為通常每個
opcode 是一字節長,但是指令碼的長度是變化的。每個指令有從 0 到 255(或十六進制的: 00
到FF)的一字節操作碼,被參數例如寄存器或內存地址跟隨。
在計算機中,數據只用0和1兩種表現形式,(這里只表示一個數據點,不是數字),一個0或者1占一個“位”,而系統中規定8個位為一個字節,用來表示常用的256個字母、符號、控制標記,其中用一個位來進行數據校驗,其他七個位用來記錄數據。
按計算機中的規定,一個英文的字符占用一個字節,(如,."':;avcAVC都占用一個字節),而一個漢字以及漢字的標點符號、字符都占用兩個字節,(如,。“”:;AVCavc他們就得占用兩個字節)。
另外,他們是沒有辦法比較的,只能講一個字符占用一個字節,N個字符占用N個字節。
K是千 M是兆 G是吉咖 T是太拉 8bit(位)=1Byte(字節) 1024Byte(字節)=1KB
1024KB=1MB 1024MB=1GB 1024GB=1TB
java中,字節碼是CPU構架(JVM)的具有可移植性的機器語言。[摘自java in a nutshell]