Hướng dẫn python format hex string
I need to create a string of hex digits from a list of random integers (0-255). Each hex digit should be represented by two characters: 5 - "05", 16 - "10", etc. Example:
I've managed to come up with:
However, this looks a bit awkward. Is there a simpler way?
SiHa 7,12112 gold badges32 silver badges42 bronze badges asked Apr 14, 2011 at 10:15
1 Just for completeness, using the modern
answered Nov 15, 2013 at 8:37
gakgak 31.4k26 gold badges117 silver badges153 bronze badges
answered Apr 14, 2011 at 10:18
vartecvartec 127k36 gold badges213 silver badges242 bronze badges 2 The most recent and in my opinion preferred approach is the
Format optionsThe old format
style was the
The more modern approach is the
More recently, from python 3.6 upwards we were treated to the
Format syntaxNote that the
See pyformat for more formatting options. answered Jul 25, 2019 at 8:47
RoelantRoelant 3,9371 gold badge27 silver badges56 bronze badges 3 Python 2:
Python 3:
answered Apr 14, 2011 at 10:31
John La RooyJohn La Rooy 286k51 gold badges358 silver badges498 bronze badges 2 Yet another option is
prints
This is also the fastest version for large strings on my machine. In Python 2.7 or above, you could improve this even more by using
saving the copy created by the answered Apr 14, 2011 at 10:54
Sven MarnachSven Marnach 544k114 gold badges914 silver badges816 bronze badges Similar to my other answer, except repeating the format string:
answered Apr 19, 2014 at 20:31
gakgak 31.4k26 gold badges117 silver badges153 bronze badges 1 Starting with Python 3.6, you can use f-strings:
answered Apr 25, 2021 at 13:34
roskakoriroskakori 2,8691 gold badge27 silver badges27 bronze badges
prints
(Also note that your code will fail for integers in the range from 10 to 15.) answered Apr 14, 2011 at 10:17
Sven MarnachSven Marnach 544k114 gold badges914 silver badges816 bronze badges From Python documentation. Using the built in format() function you can specify hexadecimal base using an 'x' or 'X' Example: x= 255 print('the number is {:x}'.format(x)) Output: the number is ff Here are the base options Type
Dharman♦ 28k21 gold badges75 silver badges127 bronze badges answered Oct 3, 2020 at 19:49
1 With python 2.X, you can do the following:
answered Jul 25, 2018 at 1:28
selfbootselfboot 1,43018 silver badges23 bronze badges Example with some beautifying, similar to the sep option available in python 3.8
output
answered Jun 15, 2020 at 8:41
MarcoMarco 4906 silver badges9 bronze badges Using python string format() this can be done. Code:
Output:
answered Jan 16 at 12:09
|