跳到内容
🛠️ToolsShed

文本转二进制 / 十六进制

将文本转换为二进制、十六进制、八进制和十进制。

二进制
输出将显示在此处...
十六进制
输出将显示在此处...
八进制
输出将显示在此处...
十进制(ASCII)
输出将显示在此处...

关于此工具

理解文本如何被编码为数字是计算机科学的基础。您输入的每个字符(从字母和数字到符号和重音字符)都会被转换为数值代码,以便在数字系统中存储和传输。该工具通过将文本转换为多种数值格式来揭示这个过程:二进制(2进制)、十六进制(16进制)、八进制(8进制)和十进制(10进制)。虽然二进制是计算机使用的原生语言,但十六进制因其紧凑的可读性而在编程和系统管理中被广泛使用。

无论您是在学习计算机科学、调试字符编码问题,还是在为编程面试做准备,这个工具都能提供即时、实用的反馈。输入任何文本,您就会立即看到其在所有四个数值系统中的表示。您也可以通过粘贴编码值来反向处理,以恢复原始文本。灵活的分隔符选项(空格、破折号或无分隔符)使输出与您在现实应用、API和教学材料中可能遇到的不同格式兼容。

这个转换器加深了您对信息在计算中如何被基本表示的理解,对学生、CTF竞赛参与者、排查编码问题的网络开发人员以及对数字通信基层感到好奇的任何人都特别有价值。通过可视化人类可读文本和机器级数值表示之间的关系,您可以深入了解字符集、Unicode以及现代文本编码标准的巧妙设计。

常见问题

代码实现

def text_to_binary(text: str, sep: str = " ") -> str:
    """Convert text to binary string (UTF-8 byte representation)."""
    return sep.join(f"{byte:08b}" for byte in text.encode("utf-8"))

def binary_to_text(binary: str) -> str:
    """Convert binary string (space-separated 8-bit groups) back to text."""
    groups = binary.strip().split()
    byte_values = [int(g, 2) for g in groups]
    return bytes(byte_values).decode("utf-8")

# Examples
original = "Hello, World!"
binary   = text_to_binary(original)
print(f"Text    : {original}")
print(f"Binary  : {binary}")
print(f"Decoded : {binary_to_text(binary)}")

# Extended ASCII and Unicode
print()
for char in ["A", "z", "0", "@", "é", "中"]:
    b = text_to_binary(char)
    print(f"  {char!r:6} -> {b}")

# Hexadecimal comparison
print()
for byte in "Hi".encode("utf-8"):
    print(f"  {byte:3d}  0x{byte:02X}  {byte:08b}")

Comments & Feedback

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