① 詳解大端模式和小端模式
位元組順序 ,又稱 端序 或 尾序 (英語: Endianness )。在友晌計算機科學計算機科學")領域中,是跨越多位元組的程序對象的存儲規則。
在幾乎所有的機器上,多位元組對象都被存儲為連續的位元組序列。例如在C語言中,一個類型為 int 的變數 x 地址為 0x100 ,那麼其對應地址表達式 &x 的值為 0x100 。且 x 的四個位元組將被存儲在存儲器的 0x100, 0x101, 0x102, 0x103 位置。
在計算機中一般講位元組序分為兩類: Big-Endian (大端位元組序) 和 Little-Endian 。好搜鋒
a) Little-Endian 高位位元組在前,低位位元組在後。
b) Big-Endian 低位位元組在前,高位位元組在後。
c) 網路位元組序:TCP/IP各層協議將位元組序定義為Big-Endian,因此TCP/IP協議中使用的位元組序通常稱之為網路位元組序。
舉個小例子:
整數127(十進制)在計算機(64位)中大/小端位元組序
在x86的計算機中,一般漏拍採用的是小端位元組序
輸出
② python怎麼中文寫txt文件
本文以txt 文本為例,只是介紹ANSI,Unicode,UTF-8 三種編碼的文件的讀寫過程,對於編碼不做深究了
一、用記事本另存為時,可以選擇保存文本使用的的幾種編碼模式,分別為:
ANSI:默認保存的編碼格式,採用本地操作系統默認的內碼,簡體中文一般為GB2312。
Unicode:UTF-16的小端位元組序,加上BOM簽名:0xFFFE。
Unicode bigendian:Unicode編碼:UTF-16的大端位元組序,加上BOM簽名:0xFEFF。
UTF-8:編碼格式是:UTF-8,其BOM為0xEF BB BF(UTF-8不區分位元組序,這個BOM僅標志UTF-8編碼)
Python對於讀取的txt文件,最好在讀取的時候進行decode成unicode編碼,
然後再寫入的時候進行encode成對應想要的編碼類型,這樣可以保證源文件的編碼方式不會改變,且中文不會亂碼
整個代碼過程保持使用unicode編碼方式利用try…except 來進行編碼判別具體使用了那種編碼方式
二、對於raw_input 通過鍵盤輸入的文字,通過sys模塊中的stdin.encodeing來進行解碼
暫時這么多