跳到内容
🛠️ToolsShed

文本转十六进制

将文本转换为十六进制编码,或将十六进制解码回文本。

分隔符:

关于此工具

文本转16进制是一个将输入的文本转换为16进制表示法,以及反向转换的工具。16进制编码是所有数字数据表示的基础——你输入的每个字符、符号和表情符号最终都会以数字形式存储在计算机的内存中,而16进制是表达这些数字最可读的方式。这个工具使转换过程瞬间完成,无需理解底层数学原理。

使用这个工具非常简单。只需在输入框中粘贴或输入文本,然后点击转换按钮即可。如果想进行反向转换,只需输入16进制数值(无论是否包含'0x'前缀或空格),它就会转换回可读的文本。该工具会自动识别你输入的是文本还是16进制数据,因此非常适合调试代码、检查二进制文件、分析协议或理解数据在字节级别上的表示方式。

软件开发人员在处理API、加密或其他以16进制表示为标准的低级文件格式时,会发现这个工具非常宝贵。学生使用它来学习字符编码方案以及数字信息的基本表示方式。该工具完全在浏览器中运行,无需服务器连接或特殊软件,可以随时从任何设备访问。

常见问题

代码实现

def text_to_hex(text: str, separator: str = " ") -> str:
    """Convert UTF-8 text to hexadecimal string."""
    encoded = text.encode("utf-8")
    hex_parts = [f"{byte:02x}" for byte in encoded]
    return separator.join(hex_parts)

def hex_to_text(hex_string: str) -> str:
    """Convert hexadecimal string back to UTF-8 text."""
    # Remove common separators
    cleaned = hex_string.replace(" ", "").replace("-", "")
    if len(cleaned) % 2 != 0:
        raise ValueError("Hex string must have an even number of characters")
    byte_values = bytes(int(cleaned[i:i+2], 16) for i in range(0, len(cleaned), 2))
    return byte_values.decode("utf-8")

# Examples
print(text_to_hex("Hello"))       # 48 65 6c 6c 6f
print(text_to_hex("Hi", "-"))     # 48-69
print(hex_to_text("48 65 6c 6c 6f"))  # Hello
print(hex_to_text("48656c6c6f"))       # Hello

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.