python读取UCS-2 little endian(utf-16-le) 格式的文件- 仙羡1118

文章推薦指數: 80 %
投票人數:10人

今天开发帮忙写了一个读取windows文件签名的小程序,并把签名信息写到txt文件中,用UE打开发现居然是UCS-2 LE编码,几经查找,如下是读取的文本。

首页 新闻 博问 专区 闪存 班级 我的博客 我的园子 账号设置 简洁模式... 退出登录 注册 登录 deepwater python读取UCS-2littleendian(utf-16-le)格式的文件 今天开发帮忙写了一个读取windows文件签名的小程序,并把签名信息写到txt文件中,用UE打开发现居然是UCS-2LE编码,几经查找,如下是读取的文本。

>>>a'\xff\xfe.\x00/\x00\\\x002\x000\x001\x006\x000\x009\x002\x003\x00\\\x00C\x00W\x00C\x00C\x00S\x00e\x00t\x00u\x00p\x00.\x00e\x00x\x00e\x00-\x00-\x00-\x00S\x00i\x00g\x00n\x00a\x00t\x00u\x00r\x00e\x00N\x00a\x00m\x00e\x00:\x00\r\x00\n'>>>chardet.detect(a){'confidence':1.0,'encoding':'UTF-16LE'} 用python解析: #-*-coding:cp936-*- importos importcodecs defparseFile(filepath): try: lineList=[]#存放每一行的内容 withopen(filepath,'r')asfp: line=fp.read() ifline.startswith('\xff\xfe'): encoding='utf-16-le' fp2=codecs.open(filepath,'r',encoding) lineList=fp2.readlines() fp2.stream.close() foriinlineList:#打印每一行 printi, exceptException,ex: print'[ERROR]--',ex if__name__=='__main__': filepath='./Signature.txt' parseFile(filepath)    posted@ 2016-09-2315:13  仙羡1118  阅读(7027)  评论(0)  编辑  收藏  举报 刷新评论刷新页面返回顶部 Copyright©2022仙羡1118 Poweredby.NET6onKubernetes



請為這篇文章評分?