python 字節(jié)序

阮一峰 - 理解字節(jié)序

獲取字節(jié)順序

import sys

endianness = sys.byteorder
print("system Endianness is "+ endianness)

大小端轉換


"6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000".decode('hex')[::-1].encode('hex_codec') 
#=> 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

import struct

ver = 1
prev_block = "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f"
mrkl_root = "0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098"
time = 1231469665
bits = 486604799
nonce = 2573394689

struct.pack("<L", ver) #轉換為 unsigned long型小端
prev_block.decode('hex')[::-1] # 轉換為16進制并大小端轉換
mrkl_root.decode('hex')[::-1] # 轉換為16進制并大小端轉換
struct.pack("<LLL", time, bits, nonce) # 把3個變量轉換為 unsigned long型小端

struct

在struct中有以下幾種字節(jié)順序

Character Byte order Size Alignment
@ native native native
= native standard none
< little-endian standard none
> big-endian standard none
! network (= big-endian) standard none
字符 字節(jié)順序 尺寸 對齊方式
@ 本機 本機 本機
= 本機 標準
< 小端 標準
> 大端 標準
網絡即大端 標準

數據格式

Format C Type Python type Standard size Notes
x pad byte no value
c char bytes of length 1 1
b signed char integer 1 (1),(3)
B unsigned char integer 1 (3)
? _Bool bool 1 (1)
h short integer 2 (3)
H unsigned short integer 2 (3)
i int integer 4 (3)
I unsigned int integer 4 (3)
l long integer 4 (3)
L unsigned long integer 4 (3)
q long long integer 8 (2), (3)
Q unsigned long
long integer 8 (2), (3)
n ssize_t integer (4)
N size_t integer (4)
e (7) float 2 (5)
f float float 4 (5)
d double float 8 (5)
s char[] bytes
p char[] bytes
P void * integer (6)
字符 C類型 python類型 標準尺寸
x 填充字節(jié) 沒有意義的值
c char 長度為1的字節(jié) 1
b signed char 整型 1
B unsigned char 整型 1
紊遵? _Bool 布爾 1
h short 整型 2
H unsigned short 整型 2
i int 整型 4
I unsigned int 整型 4
l long 整型 4
L unsigned long 整型 4
q long long 整型 8
Q unsigned long long 整型 8
n ssize_t 整型
N size_t 整型
e 浮動 2
f float 浮動 4
d double 浮動 8
s char[] 字節(jié)
p char[] 字節(jié)
P void * 整型

參考:

https://en.wikipedia.org/wiki/Endianness
https://docs.python.org/3/library/struct.html
https://blog.csdn.net/youand_me/article/details/78890316

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末滞详,一起剝皮案震驚了整個濱河市犀忱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌夭问,老刑警劉巖眷唉,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異踢步,居然都是意外死亡,警方通過查閱死者的電腦和手機丑掺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進店門获印,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人街州,你說我怎么就攤上這事兼丰〔C希” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵鳍征,是天一觀的道長黍翎。 經常有香客問我,道長艳丛,這世上最難降的妖魔是什么匣掸? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮氮双,結果婚禮上碰酝,老公的妹妹穿的比我還像新娘。我一直安慰自己眶蕉,他們只是感情好砰粹,可當我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布唧躲。 她就那樣靜靜地躺著造挽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪弄痹。 梳的紋絲不亂的頭發(fā)上饭入,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天,我揣著相機與錄音肛真,去河邊找鬼谐丢。 笑死,一個胖子當著我的面吹牛蚓让,可吹牛的內容都是我干的乾忱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼历极,長吁一口氣:“原來是場噩夢啊……” “哼窄瘟!你這毒婦竟也來了?” 一聲冷哼從身側響起趟卸,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蹄葱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后锄列,有當地人在樹林里發(fā)現(xiàn)了一具尸體图云,經...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年邻邮,在試婚紗的時候發(fā)現(xiàn)自己被綠了竣况。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡筒严,死狀恐怖帕翻,靈堂內的尸體忽然破棺而出鸠补,到底是詐尸還是另有隱情,我是刑警寧澤嘀掸,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布紫岩,位于F島的核電站,受9級特大地震影響睬塌,放射性物質發(fā)生泄漏泉蝌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一揩晴、第九天 我趴在偏房一處隱蔽的房頂上張望勋陪。 院中可真熱鬧,春花似錦硫兰、人聲如沸诅愚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽违孝。三九已至,卻和暖如春泳赋,著一層夾襖步出監(jiān)牢的瞬間雌桑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工祖今, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留校坑,地道東北人。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓千诬,卻偏偏與公主長得像耍目,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子徐绑,可洞房花燭夜當晚...
    茶點故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內容