注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

季叔华

痛苦和无知是我生活的全部

 
 
 

日志

 
 

判断一个文件是否是utf_8编码  

2009-12-20 18:19:06|  分类: Python |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

def IsUTF8(filename):
        text = open(filename,'rb').read()
        prech = 0x00   #previous character
        begin = 0
        BOM = True
        BOMch = (0xEF,0xBB,0xBF)
        good_utf = 0     #utf_8 or ascii
        bad_utf = 0
        for char in text:
            ch = ord(char)
            if begin < 3:
                BOM = (BOMch[begin] == ch) and BOM
                begin = begin + 1
                continue
            if begin == 3 and BOM == True:
                break
            if ch&0xC0 ==0x80:
                if (prech&0xC0) == 0xC0:
                    good_utf += 1
                elif prech&0x80 == 0x00:
                    bad_utf += 1
            elif prech&0xC0 == 0xC0:
                bad_utf += 1
            prech = ch

        if (begin == 3 and BOM == True) or (good_utf >= bad_utf):
            return True
        else:
            return False

  评论这张
 
阅读(547)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018