16进制转中文
16进制转中文
本人参考:https://blog.csdn.net/weixin_41449756/article/details/100652150
思路:
找到 \\x开头的所有字符,每3个转成一个中文,使用str.decode("hex")一个字一个字的转换
code:
def str_to_chinese(var): not_end = True while not_end: start1 = var.find("\\x") # print start1 if start1 > -1: str1 = var[start1 + 2:start1 + 4] print str1 start2 = var[start1 + 4:].find("\\x") + start1 + 4 if start2 > -1: str2 = var[start2 + 2:start2 + 4] start3 = var[start2 + 4:].find("\\x") + start2 + 4 if start3 > -1: str3 = var[start3 + 2:start3 + 4] else: not_end = False if start1 > -1 and start2 > -1 and start3 > -1: str_all = str1 + str2 + str3 # print str_all str_all = str_all.decode('hex') str_re = var[start1:start3 + 4] # print str_all, " " ,str_re var = var.replace(str_re, str_all) # print var.decode('utf-8') return var if __name__ == "__main__": var1 = '\xE6\x97\xA0\xE6\x9D\x83\xE9\x99\x90' var2 = '\\xE7\\xBD\\x91\\xE7\\xAB\\x99\\xE8\\xAE\\xBF\\xE9\\x97\\xAE\\xE6\\x8A\\xA5\\xE9\\x94\\x99' var3 = '\xE7\xBD\x91\xE7\xAB\x99\xE8\xAE\xBF\xE9\x97\xAE\xE6\x8A\xA5\xE9\x94\x99' var4 = '\\xE8\\xBF\\x90\\xE7\\xBB\\xB4 - \\xE7\\xAB\\x99\\xE7\\x82\\xB9' # print var1 # print var2 # print var3 print str_to_chinese(var4)