直接上代码:
def strQ2B(ustring):
"""
全角转半角
:param ustring: string with encoding utf8
:return: string with encoding utf8
"""
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: string with encoding utf8
:return: string with encoding utf8
"""
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)
示例:
from utils.strQB import strQ2B
old_file = open('111.html', 'rb')
content = old_file.read().decode(encoding='utf-8')
output_txt = strQ2B(content).encode(encoding='utf-8')
new_file = open('222.html', 'wb')
new_file.write(output_txt)
old_file.close()
new_file.close()