### 基本概念
首先理解兩個概念,有些東西是為了讓機器認識的,有些東西是為了讓人認識的。
進製(2,3,8,10,16)都是為了機器可以直接理解的。
編碼(ascii,unicode,utf-8),把只有機器認識的二進位制體現為人一眼就能看明白的字元。
### 基礎知識
二進位制:0-1
八進位制:0-7
十進位制:0-9
16進製制:0-f
- 位,位元組,字元,字串
- 位:bit 表現形式: 0或者1 ,最底層的體現
- 位元組:byte 等於8bit 表現形式:八位的bit 一起, 如01010101,組合起來可以代表某些字元
- 字元:char 至少是1個位元組即8bit. (注意:不同編碼下的1字元所包含的位元組是不一樣的)
- 字串:一串字元組合而成
### 編碼
ascii:1個字元=1個位元組=8bit。
unicode:1個字元=2個位元組=16bit。
utf-8:可變長的編碼,乙個字元等於1~4個位元組。
### 關係,轉換
數字python裡,整數 通過int(),bin(),oct(),hex()進行轉換
bin(10)
oct(10)
hex(10)
hex只能轉換數字到16進製制
hex(b'10')
### 字元
python裡,字元 通過chr(),ord()進行轉換
ord('汗')
chr(27735)
bin(27735)
ord('a')
chr(97)
bin(97)
### 碼制之間的轉換
通過encode(),decode()進行轉換(預設是utf8)
tmp_str = '汗'
encode_str = tmp_str.encode()
print(encode_str)
decode_str = encode_str.decode("utf-8")
print(decode_str)
### 重點,utf8 和 unicode 之間的區別
乙個漢字,在 utf8裡面是三個位元組,在unicode 裡面是兩個位元組。
tmp_str
tmp_str.encode('unicode_escape')
tmp_str.encode('utf8')
b'\\u6c57'.decode('unicode_escape')
b'\xe6\xb1\x97'.decode('utf-8')
位 位元組 編碼格式
位 bit 計算機中最小的資料單位。每一位的狀態只能是0或1。位元組 byte 儲存空間的基本計量單位,8個二進位制位構成乙個位元組 編碼格式 ascii 127個字元被編碼到計算機裡,也就是大小寫英文本母 數字和一些符號 unicode 把所有語言都統一到一套編碼裡,解決亂碼問題 gbk 有一位元...
python 位元組編碼 python編碼
參考文章 python編碼 encode 將unicode字元按照編碼規則 如utf 8 編成位元組序列。a u 測試 a.encode utf 8 xe6 xb5 x8b xe8 xaf x95 python解碼 decode 將位元組序列按照編碼規則 如utf 8 解釋成unicode。a b ...
位 位元組 進製梳理與位操作
位 bit 是計算機最基礎也是最小的資料度量 位是二進位制數例如 10101010 每乙個數字便是一位 bit 位元組 每一位元組有8位8bit 進製是進製,位是位 16進製制數0xffffffff 其中0x是16進製制數的標誌,表示標誌後面的數是16進製制的 其中每乙個f可以表示成二進位制數 11...