Tôi muốn lấy một số nguyên [đó sẽ là
Ví dụ: Tôi muốn vượt qua trong
hex[255] # 0xff
0 và thoát ra hex[255] # 0xff
1, hoặc hex[255] # 0xff
2 và nhận hex[255] # 0xff
3.Tôi đã thử làm điều này với
hex[255] # 0xff
465hex[255] # 0xff
5, nhưng điều đó làm nghẹt bất cứ thứ gì trên hex[255] # 0xff
6 vì nó muốn lấy một chuỗi ký tự duy nhất.
Bartoszkp
34K14 Huy hiệu vàng104 Huy hiệu bạc129 Huy hiệu đồng14 gold badges104 silver badges129 bronze badges
hỏi ngày 16 tháng 2 năm 2010 lúc 0:07Feb 16, 2010 at 0:07
0
Bạn đang tìm kiếm chức năng
hex[255] # 0xff
7.Bạn dường như đang pha trộn các biểu diễn thập phân của các số nguyên và biểu diễn hex của các số nguyên, vì vậy nó không hoàn toàn rõ ràng những gì bạn cần. Dựa trên mô tả bạn đã đưa ra, tôi nghĩ rằng một trong những đoạn này cho thấy những gì bạn muốn.
>>> chr[0x65] == '\x65'
True
>>> hex[65]
'0x41'
>>> chr[65] == '\x41'
True
Lưu ý rằng điều này khá khác biệt so với một chuỗi chứa một số nguyên dưới dạng hex. Nếu đó là những gì bạn muốn, hãy sử dụng
hex[255] # 0xff
8 tích hợp.Đã trả lời ngày 16 tháng 2 năm 2010 lúc 0:10Feb 16, 2010 at 0:10
Mike Grahammike GrahamMike Graham
71.5K14 Huy hiệu vàng98 Huy hiệu bạc129 Huy hiệu đồng14 gold badges98 silver badges129 bronze badges
3
Điều này sẽ chuyển đổi một số nguyên thành chuỗi hex 2 chữ số với tiền tố 0x:
strHex = "0x%0.2X" % integerVariable
Đã trả lời ngày 16 tháng 2 năm 2010 lúc 0:17Feb 16, 2010 at 0:17
Greg Braygreg BrayGreg Bray
14.4K10 Huy hiệu vàng80 Huy hiệu bạc102 Huy hiệu đồng10 gold badges80 silver badges102 bronze badges
1
Còn
hex[255] # 0xff
9 thì sao?hex[255] # 0xff
Nếu bạn thực sự muốn có
print '\\' + hex[255][1:]
0 ở phía trước, bạn có thể làm:print '\\' + hex[255][1:]
Đã trả lời ngày 16 tháng 2 năm 2010 lúc 0:12Feb 16, 2010 at 0:12
Felix Klingfelix KlingFelix Kling
775K172 Huy hiệu vàng1071 Huy hiệu bạc1119 Huy hiệu đồng172 gold badges1071 silver badges1119 bronze badges
1
Hãy để tôi thêm cái này, bởi vì đôi khi bạn chỉ muốn biểu diễn chữ số duy nhất
.
'{:x}'.format[15]
> f
Và bây giờ với chuỗi định dạng
print '\\' + hex[255][1:]
2 mới bạn có thể làm:f'{15:x}'
> f
Để thêm 0 đệm, bạn có thể sử dụng
print '\\' + hex[255][1:]
3:f'{2034:0>4X}'
> 07F2
Lưu ý: 'F' ban đầu trong
4 là biểu thị chuỗi định dạngprint '\\' + hex[255][1:]
Đã trả lời ngày 20 tháng 9 năm 2017 lúc 0:33Sep 20, 2017 at 0:33
Monkutmonkutmonkut
40.7K23 Huy hiệu vàng120 Huy hiệu bạc149 Huy hiệu đồng23 gold badges120 silver badges149 bronze badges
2
Try:
"0x%x" % 255 # => 0xff
hoặc
"0x%X" % 255 # => 0xFF
Tài liệu Python nói: "Giữ cái này dưới gối của bạn: //docs.python.org/l Library/index.html"
Đã trả lời ngày 16 tháng 2 năm 2010 lúc 0:11Feb 16, 2010 at 0:11
DawiddawidDawid
4.0122 Huy hiệu vàng26 Huy hiệu bạc 30 Huy hiệu Đồng2 gold badges26 silver badges30 bronze badges
1
Nếu bạn muốn đóng gói một cấu trúc có giá trị
struct.pack['B', 65]
[Và có, 65 là \ x41, không phải \ x65.]
Lớp Struct cũng sẽ thuận tiện xử lý tính nội bộ cho giao tiếp hoặc sử dụng khác.
Đã trả lời ngày 19 tháng 9 năm 2011 lúc 12:11Sep 19, 2011 at 12:11
XTLXTLXTL
8331 Huy hiệu vàng8 Huy hiệu bạc23 Huy hiệu đồng1 gold badge8 silver badges23 bronze badges
1
Với
print '\\' + hex[255][1:]
5, theo các ví dụ về định dạng, chúng ta có thể làm:strHex = "0x%0.2X" % integerVariable
0Đã trả lời ngày 5 tháng 9 năm 2018 lúc 1:28Sep 5, 2018 at 1:28
Bản đồMap
3694 Huy hiệu bạc9 Huy hiệu Đồng4 silver badges9 bronze badges
Đối với Python> = 3.6, hãy sử dụng định dạng F-String:
strHex = "0x%0.2X" % integerVariable
1Đã trả lời ngày 5 tháng 4 lúc 4:57Apr 5 at 4:57
Xinnyi lixinyi liXinyi Li
6326 Huy hiệu bạc9 Huy hiệu Đồng6 silver badges9 bronze badges
1
Lưu ý rằng đối với các giá trị lớn,
hex[255] # 0xff
9 vẫn hoạt động [một số câu trả lời khác không]:strHex = "0x%0.2X" % integerVariable
2Python 2:
print '\\' + hex[255][1:]
7 Python 3: print '\\' + hex[255][1:]
8Python 3:
print '\\' + hex[255][1:]
8Đối với một tin nhắn RSA được giải mã, người ta có thể làm như sau:
strHex = "0x%0.2X" % integerVariable
3Đã trả lời ngày 5 tháng 10 năm 2016 lúc 21:29Oct 5, 2016 at 21:29
LuclucLuc
4.7432 Huy hiệu vàng46 Huy hiệu bạc45 Huy hiệu Đồng2 gold badges46 silver badges45 bronze badges
3
strHex = "0x%0.2X" % integerVariable
4Ví dụ:
strHex = "0x%0.2X" % integerVariable
5Đã trả lời ngày 30 tháng 1 năm 2019 lúc 6:53Jan 30, 2019 at 6:53
Điều này làm việc tốt nhất cho tôi
strHex = "0x%0.2X" % integerVariable
6Thay đổi [2] nếu bạn muốn một số có chiều rộng lớn hơn [2 là cho 2 ký tự in hex], vì vậy 3 sẽ cung cấp cho bạn những điều sau đây
strHex = "0x%0.2X" % integerVariable
7Đã trả lời ngày 10 tháng 6 năm 2017 lúc 19:14Jun 10, 2017 at 19:14
shakram02shakram02shakram02
9.7624 huy hiệu vàng20 Huy hiệu bạc21 Huy hiệu đồng4 gold badges20 silver badges21 bronze badges
Ngoài ra, bạn có thể chuyển đổi bất kỳ số nào trong bất kỳ cơ sở nào thành Hex. Sử dụng mã một dòng này ở đây, nó dễ sử dụng và đơn giản để sử dụng:
print '\\' + hex[255][1:]
9Bạn có một chuỗi
'{:x}'.format[15]
> f
0 là số của bạn và print '\\' + hex[255][1:]
1 cơ sở của số đó. Đầu tiên, thay đổi nó thành số nguyên và sau đó thành hex nhưng hex có '{:x}'.format[15]
> f
2 ở đầu tiên vì vậy với '{:x}'.format[15]
> f
3 chúng tôi đã loại bỏ nó.Đã trả lời ngày 6 tháng 12 năm 2019 lúc 18:39Dec 6, 2019 at 18:39
Prof.PlagueProf.PlagueProf.Plague
5119 Huy hiệu bạc17 Huy hiệu đồng9 silver badges17 bronze badges
1
Tôi muốn một số nguyên ngẫu nhiên được chuyển đổi thành chuỗi hex sáu chữ số với # lúc đầu. Để có được cái này, tôi đã sử dụng
strHex = "0x%0.2X" % integerVariable
8
Đã trả lời ngày 22 tháng 1 năm 2012 lúc 22:15Jan 22, 2012 at 22:15
Ncmathsadistncmathsadistncmathsadist
4.5743 Huy hiệu vàng30 Huy hiệu bạc44 Huy hiệu đồng3 gold badges30 silver badges44 bronze badges
2
Như một đại diện thay thế, bạn có thể sử dụng
strHex = "0x%0.2X" % integerVariable
9Đã trả lời ngày 28 tháng 7 năm 2017 lúc 3:32Jul 28, 2017 at 3:32
Uzumakiuzumakiuzumaki
1.52113 Huy hiệu bạc27 Huy hiệu đồng13 silver badges27 bronze badges