迁移eclipse项目到android studio之后,编译可能会报\65279的错误,错误原因是android studio不支持 ut8 的bom头,用一些编辑器固然可以改,但是很麻烦,写了个python脚本直接处理:
#!/usr/bin/python
import struct
import os
import os.path
import re
import binascii
rootdir = "./"
def main():
for parent, dirnames, filenames in os.walk(rootdir):
for filename in filenames:
if(os.path.splitext(filename)[1] == '.java'):
fileto = filename + "bak"
ffrom = open(os.path.join(parent,filename),'r')
fto = open(os.path.join(parent,fileto), 'w')
count = 0
while True:
l = ffrom.readline()
if not l:
break;
if(count == 0):
l = modify(l)
fto.write(l)
count = count +1;
os.remove(os.path.join(parent, filename))
os.rename(os.path.join(parent,fileto), os.path.join(parent, filename))
def modify(l):
hexvalue = binascii.b2a_hex(l)
if(hexvalue.startswith("efbbbf")):
hexvalue = hexvalue[6:]
print(hexvalue)
return binascii.a2b_hex(hexvalue)
if __name__ == "__main__":
main()
代码仅为抛砖引玉,有需要者请按自己需求修改。