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 = 'xE6x97xA0xE6x9Dx83xE9x99x90' var2 = '\xE7\xBD\x91\xE7\xAB\x99\xE8\xAE\xBF\xE9\x97\xAE\xE6\x8A\xA5\xE9\x94\x99' var3 = 'xE7xBDx91xE7xABx99xE8xAExBFxE9x97xAExE6x8AxA5xE9x94x99' var4 = '\xE8\xBF\x90\xE7\xBB\xB4 - \xE7\xAB\x99\xE7\x82\xB9' # print var1 # print var2 # print var3 print str_to_chinese(var4)