#!/usr/bin/env python # -*- encoding: utf-8 -*- def strQ2B(ustring): """把字符串全角转半角""" ss = [] for s in ustring: rstring = "" for uchar in s: inside_code = ord(uchar) if inside_code == 12288: # 全角空格直接转换 inside_code = 32 elif (inside_code >= 65281 and inside_code <= 65374): # 全角字符(除空格)根据关系转化 inside_code -= 65248 rstring += chr(inside_code) ss.append(rstring) return ''.join(ss) def strB2Q(ustring): """ 半转全角 :param ustring: :return: """ ss = [] for s in ustring: rstring = "" for uchar in s: inside_code = ord(uchar) # 全角空格直接转换 if inside_code == 32: inside_code = 12288 elif (inside_code >= 33 and inside_code <= 126): # 全角字符(除空格)根据关系转化 inside_code += 65248 rstring += chr(inside_code) ss.append(rstring) return ''.join(ss) if __name__ == '__main__': a = strB2Q("深桑达A") print(a) b = strQ2B('深桑达A特 力A') print(b) b = strQ2B('深桑达A特 力A') print(b.replace(' ', ''))