如何将一出汉字的字符串,转为十六进制?下面提供两种方法。
#以下方法,均采用utf-8编码格式,
#如果使用其它编码,比如utf-16,得到的结果则不相同
def s_to_hex1(s):
    hex_list = [e.encode('utf-8').hex() for e in s]
    hex_str = ''.join(hex_list)
    return hex_str
#将字符串转换为十六进制
def s_to_hex2(s):
    s_to_bytes = s.encode("utf-8")#转为字节,即 b'a'
    print("字符转字节",s_to_bytes)
    #字节转十进制
    mybytes = int.from_bytes(s_to_bytes,byteorder='big')#将字节转为十进制
    print("字节转十进制",mybytes)
    #字节转十六进制
    myhex = hex(mybytes)[2:]
    print("十进制再转十六进制",myhex)
    #字节转二进制
    mybin = bin(mybytes)[2:]
    print(mybin)
s = "乡书"
print(s_to_hex1(s))
print(s_to_hex2(s))
###输出如下
e4b9a1e4b9a6
字符转字节 b'\xe4\xb9\xa1\xe4\xb9\xa6'
字节转十进制 251485936204198
十进制再转十六进制 e4b9a1e4b9a6
111001001011100110100001111001001011100110100110