字符串转16进制

什么是16进制?

16进制(Hexadecimal)是一种数制,使用0~9和A~F(或a~f)共16个符号来表示数字。常用于表示计算机底层数据、内存地址、颜色编码等。

什么是字符串?

字符串(String)是由一系列字符组成的序列,可包含文字、数字、符号等,用来表达文本或数据内容。

字符串编码方式

字符串编码是将字符转换为计算机可存储或传输的二进制数据的过程。常见编码包括: ASCIIUTF-8GBK

16进制的优势

与二进制直接转换(1位十六进制=4位二进制)
比二进制表示更紧凑,可读性更好
内存地址的标准表示形式
广泛应用于颜色编码(#RRGGBB)和网络协议

什么是ASCII码

美国信息交换标准代码(ASCII)使用7位表示128个字符,包含: 英文字母、数字、 控制字符。局限性在于无法表示非英语字符,ASCII扩展字符集使用8位(0-255)。

什么是UTF-8

Unicode的可变长度字符编码实现: 1-4字节, 完全兼容ASCII。

Java实现字符串转16进制

      
public static String stringToHex(String input) {
    StringBuilder sb = new StringBuilder();
    for (char c : input.toCharArray()) {
        sb.append(Integer.toHexString((int)c));
    }
    return sb.toString();
}
      
      

Python实现字符串转16进制

      
def string_to_hex(s):
    return s.encode('utf-8').hex()

print(string_to_hex("Hello"))  #:48656c6c6f