如何将int转换为十六进制字符串? [英] How to convert an int to a hex string?

查看:216
本文介绍了如何将int转换为十六进制字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望将一个整数(它将<= 255)转换为十六进制字符串表示形式



例如:我想传入 65 ,然后出去'\x41' 255 code>'\xff'。



我试着用 struct.pack ('c', 65 ,但是对于任何高于 9 希望采用单个字符串。

解决方案

您正在寻找 chr 函数。

您似乎混合了整数和十六进制整数的十进制表示,所以它不完全清楚您需要什么。根据您给出的描述,我认为其中的一个片段可以显示您想要的内容。

 >>> chr(0x65)=='\x65'
True


>>>十六进制(65)
'0x41'
>>> chr(65)=='\x41'
True

请注意,不同于包含十六进制整数的字符串。如果这是你想要的,使用十六进制内置。


I want to take an integer (that will be <= 255), to a hex string representation

e.g.: I want to pass in 65 and get out '\x41', or 255 and get '\xff'.

I've tried doing this with the struct.pack('c',65), but that chokes on anything above 9 since it wants to take in a single character string.

解决方案

You are looking for the chr function.

You seem to be mixing decimal representations of integers and hex representations of integers, so it's not entirely clear what you need. Based on the description you gave, I think one of these snippets shows what you want.

>>> chr(0x65) == '\x65'
True


>>> hex(65)
'0x41'
>>> chr(65) == '\x41'
True

Note that this is quite different from a string containing an integer as hex. If that is what you want, use the hex builtin.

这篇关于如何将int转换为十六进制字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆