如何在Python中输出十六进制值而不是字符串?

问题描述 投票:0回答:2

我有一个函数(不是我自己的),需要格式为 0x****** 的十六进制值作为颜色值。我的函数接受 RGB 值并将其转换为十六进制,但将其输出为字符串。有没有办法获取该字符串并将其计算为十六进制值?

我尝试将十六进制值更改为整数,但该函数似乎不接受整数。

python hex
2个回答
0
投票

如果您的函数特别需要 0x***** 格式的十六进制值并且不接受整数,则可以将该值保留为整数,但将其格式化为带有“0x”前缀的十六进制字符串。您可以这样做:


# Convert your RGB values to an integer (e.g., 0x33FF99)
rgb_int = (red << 16) | (green << 8) | blue

# Format it as a hex string with the "0x" prefix
formatted_hex = f"0x{rgb_int:06X}"

红色、绿色和蓝色代表您的 RGB 值(每个值都在 0-255 范围内)。

rgb_int 是通过将这些值移位并组合成格式为 0xRRGGBB 的单个整数来构造的。

f"0x{rgb_int:06X}" 将 rgb_int 格式化为带有“0x”前缀且至少 6 个字符的字符串,因此它遵循 0x****** 格式。

尝试使用 formatted_hex 作为函数中的参数。


0
投票

您可以尝试使用python中的int()方法将字符串转换为十六进制。 像这样的东西:

hex_value = int("the returned hex string", 16)

第二个参数是结果的基数(十六进制) 这将为您提供十六进制值

© www.soinside.com 2019 - 2024. All rights reserved.