使用int()
將字符串轉換爲整數。 Python沒有不同的固定寬度整數,所以你只會得到一種類型的東西。
然後使用struct
到整數打包成一個固定的寬度:
res = struct.pack("=B",i) ## uint8_t
res = struct.pack("=b",i) ## int8_t
res = struct.pack("=H",i) ## uint16_t
res = struct.pack("=h",i) ## int16_t
res = struct.pack("=I",i) ## uint32_t
res = struct.pack("=i",i) ## int32_t
res = struct.pack("=Q",i) ## uint64_t
res = struct.pack("=q",i) ## int64_t
res = struct.pack("=f",i) ## float
res = struct.pack("=d",i) ## double
struct
產生含有以二進制數的字節串。
編輯: 從評論它聽起來像你只是想將字符串(十進制數字)轉換爲整數。只需使用int()
即可,但不能獲得指定類型的所有複雜上溢/下溢語義。你不能在python中重現它,至少不需要編寫大量的代碼。
我想如果你想得到更多的幫助,你必須更準確地瞭解你想達到的目標。
@Douglas:我很佩服你的心靈能力(或者你的運氣:)。我仍然看不到從問題 - 指定 - 直接連接到「使用int()將字符串轉換爲整數」...我只會建議結構模塊。 – tzot 2008-12-18 09:02:32