求一个utf8格式文本文件转bin的小程序或python脚本
如题,多谢! 文本文件结构:1,张三,1200
2,李四,1500 bin的格式呢?
是要转成 C 数组代码吧,记事本 + WinHex 就搞定了 wx85105157 发表于 2019-4-30 22:57
bin的格式呢?
1,张三,1200就依次转为0x01、0x00(1的编码),XX、XX、XX、XX、XX、XX(张三的utf8编码),0x4b、0x00(1200的编码) t3486784401 发表于 2019-5-1 00:09
是要转成 C 数组代码吧,记事本 + WinHex 就搞定了
指点下如何处理? python
bytes("来一发","utf-8"), 一百拿来 这个简单,如楼上,再加上文件读写就OK啦 fengyunyu 发表于 2019-5-1 06:46
1,张三,1200就依次转为0x01、0x00(1的编码),XX、XX、XX、XX、XX、XX(张三的utf8编码),0x4b、0x00 ...
水平有限,看看是否你要的结果:
1,张三,1200
['1', '张三', '1200']
0x31;0xe5,0xbc,0xa0,0xe4,0xb8,0x89;0x31,0x32,0x30,0x30
2,李四,1500
['2', '李四', '1500']
0x32;0xe6,0x9d,0x8e,0xe5,0x9b,0x9b;0x31,0x35,0x30,0x30
if __name__ == '__main__':
filename = 'test.txt'
save = open('save.txt', 'w') # save.txt是转换之后的utf-8文件
try:
with open(filename, 'r') as file: # sec.txt是以Unicode编码的文件,不限于txt格式
for line in file:
print(line)
line = line.replace('\r\n', '')
line = line.replace('\n', '')
line = line.replace(' ', '')
fields = line.split(',')
print(fields)
str_x = ''
for x in fields:
xe = x.encode('utf-8')
# print(xe)
str_y = ''
for y in xe:
str_y = str_y + ',' + str(hex(y)[:])
# print(str_y)
str_x += (';' + str_y)
print(str_x,'\n')
save.writelines(str_x + '\r\n')
finally:
save.close()
页:
[1]