如何在 Python 中将一串位转换为十六进制字符串?
我有一个 32 个字符的位串,我需要在 Python 中将其表示为十六进制。例如,字符串 "10000011101000011010100010010111"
还需要输出为 "83A1A897"
。
关于如何在 Python 中最好地解决这个问题,有什么建议吗?
I have a bit-string of 32 characters that I need to represent as hexadecimal in Python. For example, the string "10000011101000011010100010010111"
needs to also be output as "83A1A897"
.
Any suggestions on how to best go about this in Python?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
要格式化为十六进制,您可以使用 hex 函数:
或者将其完全转换为您请求的格式:
To format to hexadecimal you can use the hex function:
Or to get it in exactly the format you requested:
我希望这有帮助!
I hope this helps!
您可以通过内置函数轻松完成此操作。
您要做的第一件事是将二进制转换为整数:
第二步是将其表示为十六进制:
如果您不需要十六进制字符串的任何预定义长度,则只需使用:
You can do this very easy with build in functions.
The first thing you want to do is convert your binary to an integer:
The second step then would be to represent this as hex:
in case you don't want any predefined length of the hex string then just use:
要读入任何基数的数字,请使用内置
int
函数以及指定基数的可选第二个参数(在本例中为 2)。要将数字转换为十六进制形式的字符串,只需使用
hex
函数。To read in a number in any base use the builtin
int
function with the optional second parameter specifying the base (in this case 2).To convert a number to a string of its hexadecimal form just use the
hex
function.好吧,我们可以像 Mark Byers 所说的那样进行字符串格式。或者以其他方式,我们可以用另一种方法进行字符串格式,如下所示:
要使十六进制之间的字母表为大写,请尝试以下操作:
希望这会有所帮助。
Well we could string format just like Mark Byers said.Or in other way we could string format in another method like given below:
To make the alphabets between the hex in upper case try this:
Hope this is helpful.