我試圖創建一些需要傳輸的數據的十六進制表示(具體來說,在ASN.1表示法中)。在某些點上,我需要將數據轉換爲十六進制表示。由於數據以字節序列傳輸,因此如果長度爲奇數,則十六進制表示必須用0填充。有沒有辦法填充偶數個數字?
例子:
>>> hex2(3)
'03'
>>> hex2(45)
'2d'
>>> hex2(678)
'02a6'
的目標是找到hex2
簡單,優雅的實現。
目前我使用的是hex
,刪除前兩個字符,如果長度奇數,則用0
填充該字符串。不過,我想爲未來的參考找到更好的解決方案。我查看了str.format
,但沒有發現任何可以填充到倍數的東西。
我認爲這是好,因爲你會得到,當然除了如果有標準libray一個隱藏的寶石... – delnan 2010-12-06 16:39:34