hutool.core.util.hex

十六进制工具类

Module Contents

Classes

HexUtil

十六进制工具类,对应 Java cn.hutool.core.util.HexUtil

API

class hutool.core.util.hex.HexUtil

十六进制工具类,对应 Java cn.hutool.core.util.HexUtil

_DIGITS_UPPER = '0123456789ABCDEF'
_DIGITS_LOWER = '0123456789abcdef'
static encode_hex_str(data: bytes, lower_case: bool = True) str

字节数组转十六进制字符串

默认输出小写。

参数:
  • data – 字节数组

  • lower_case – 是否使用小写,默认 True(与 Java 一致)

返回:

十六进制字符串

static decode_hex(hex_str: str) bytes

十六进制字符串转字节数组

参数:

hex_str – 十六进制字符串(允许含空格等分隔符,自动去除)

返回:

字节数组

抛出:

ValueError – 当输入包含非法十六进制字符时抛出

static to_hex(number: int) str

数字转十六进制字符串(不带0x前缀)

参数:

number – 整数

返回:

十六进制字符串(大写)

static hex_to_int(hex_str: str) int

十六进制字符串转int

参数:

hex_str – 十六进制字符串(可选0x/0X前缀)

返回:

对应的整数值

static encode_color_str(color: tuple) str

RGB元组转十六进制颜色字符串

参数:

color – RGB元组,如 (255, 128, 0)

返回:

十六进制颜色字符串,如 ‘#FF8000’

static decode_color(color_str: str) tuple

十六进制颜色字符串转RGB元组

参数:

color_str – 十六进制颜色字符串,如 ‘#FF8000’ 或 ‘FF8000’

返回:

RGB元组,如 (255, 128, 0)

static format_hex(hex_str: str, delimiter: str = ' ', group_size: int = 2) str

格式化十六进制字符串,添加分隔符

参数:
  • hex_str – 十六进制字符串

  • delimiter – 分隔符,默认为空格

  • group_size – 每组字符数,默认为2

返回:

格式化后的十六进制字符串,如 ‘4A:3F:2B’

static is_hex_number(s: str) bool

判断字符串是否为合法的十六进制数。

参数:

s – 待检查的字符串

返回:

是否为合法十六进制数

static to_unicode_hex(c: str) str

将字符转换为 Unicode 转义序列 \uXXXX

参数:

c – 单个字符

返回:

Unicode 转义序列

static encode_hex(data: Union[str, bytes], charset: str = 'utf-8', lower_case: bool = True) str

将字符串或字节数组转换为十六进制字符串。

参数:
  • data – 字符串或字节数组

  • charset – 字符编码(当 data 为 str 时使用),默认 utf-8

  • lower_case – 是否使用小写,默认 True

返回:

十六进制字符串

static decode_hex_str(hex_str: str, charset: str = 'utf-8') str

十六进制字符串解码为普通字符串。

参数:
  • hex_str – 十六进制字符串

  • charset – 字符编码,默认 utf-8

返回:

解码后的字符串

static hex_to_long(hex_str: str) int

十六进制字符串转 long(int)。

参数:

hex_str – 十六进制字符串(可选 0x 前缀)

返回:

long 值

static hex_to_float(hex_str: str) float

十六进制字符串转 float(IEEE 754 位重解释)。

参数:

hex_str – 十六进制字符串(可选 0x 前缀)

返回:

float 值

static hex_to_double(hex_str: str) float

十六进制字符串转 double(IEEE 754 位重解释)。

参数:

hex_str – 十六进制字符串(可选 0x 前缀)

返回:

double 值

static to_hex_long(n: int) str

long(int)转十六进制字符串。

参数:

n – 整数值

返回:

十六进制字符串(小写,无 0x 前缀)

static to_hex_float(f: float) str

float 转十六进制字符串(IEEE 754 位重解释)。

参数:

f – float 值

返回:

十六进制字符串

static to_hex_double(f: float) str

double 转十六进制字符串(IEEE 754 位重解释)。

参数:

f – double 值

返回:

十六进制字符串

static append_hex(builder: list, b: int, lower_case: bool = True) None

将单字节转为十六进制追加到列表。

参数:
  • builder – 列表(模拟 StringBuilder)

  • b – 字节值(0~255)

  • lower_case – 是否使用小写,默认 True

static to_big_integer(hex_str: str) int

十六进制字符串转大整数。

参数:

hex_str – 十六进制字符串(可选 0x 前缀)

返回:

大整数(Python int)

static _remove_hex_prefix(hex_str: str) str

移除十六进制字符串的 0x/0X 前缀。

参数:

hex_str – 十六进制字符串

返回:

去除前缀后的字符串