001_011 Python 检查一个字符串是文本还是二进制

来源:互联网 发布:马云的淘宝店 编辑:程序博客网 时间:2024/06/12 23:27

代码如下:

#encoding=utf-8print '中国'#检查一个字符串是文本还是二进制'''如果字符串中包含了控制或者其中有超过30%的字符高位为1那么就是二进制数据'''import stringtext = ''.join(map(chr,range(32,127))) + '\r\n\t\b'_null_trans = string.maketrans('','')def istext(s,text = text,threshold = 0.30):    if '\0' in s:        return False    if not s:        return True    t = s.translate(_null_trans,text) #s中删除text中的字符    return len(t)/(len(s) * 1.0) <= thresholdprint istext('\0')print istext('12132132312')print 1/2print 1//2print 1/2.0print 1/2 * 1.0print 1/(2 * 1.0)
运行结果如下:

中国
False
True
0
0
0.5
0.0
0.5

0 1