2006年11月02日 星期四 16:07
def is_binary (filename):
fin = open(filename, 'rb')
wholething = fin.read()
fin.close()
for c in wholething:
if ord(c) & 0x80:
return 1
return 0
¿´µ½ÓÐÈËдÁËÈçÉϵĺ¯Êý£¬ÅжÏÎļþÊÇ·ñΪ¶þ½øÖÆ£¬µ«ÈçÉÏÅб𣬸ù±¾´¦Àí²»ÁËÖÐÎÄ£¬
ÓÐÎ޺ð취£¿
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20061102/69444606/attachment.htm
2006年11月02日 星期四 23:09
gao. tan,您好!
试探着去进行。
就和Firefox判断网页编码类似。
如果就单纯的进行GBK的出来又会简单些。
伪码:
1. 读取头部N个字符。
2. 试着去分析这N个字符,其实就是中文切词。
统计出来的中文 英文 标点符号 换行等的数目 和不可见字符的数目。
3. 可见的为一类,不可见的一类,进行概率计算。
4. 设定一个Valve阀值。
5. 超过这个阀值的可以判断为BIN,否则可以判定为文本。而且还是中文混合文本。
Firefox好像也就是这么判断的。
有片FireFox的论文,找找。
======= 2006-11-02 16:08:05 您在来信中写道:=======
>def is_binary (filename):
>
> fin = open(filename, 'rb')
> wholething = fin.read()
> fin.close()
> for c in wholething:
> if ord(c) & 0x80:
> return 1
> return 0
>
>看到有人写了如上的函数,判断文件是否为二进制,但如上判别,根本处理不了中文,
>有无好办法?
>_______________________________________________
>python-chinese
>Post: send python-chinese在lists.python.cn
>Subscribe: send subscribe to python-chinese-request在lists.python.cn
>Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn
>Detail Info: http://python.cn/mailman/listinfo/python-chinese
= = = = = = = = = = = = = = = = = = = =
致
礼!
jxppp.liu
jxppp.liu在gmail.com
2006-11-02
2006年11月02日 星期四 23:18
gao. tan,ÄúºÃ£¡
ÊÔ̽×ÅÈ¥½øÐС£
¾ÍºÍFirefoxÅжÏÍøÒ³±àÂëÀàËÆ¡£
Èç¹û¾Íµ¥´¿µÄ½øÐÐGBKµÄ³öÀ´ÓÖ»á¼òµ¥Ð©¡£
αÂ룺
1. ¶Áȡͷ²¿N¸ö×Ö·û¡£
2. ÊÔ×ÅÈ¥·ÖÎöÕâN¸ö×Ö·û£¬Æäʵ¾ÍÊÇÖÐÎÄÇдʡ£
ͳ¼Æ³öÀ´µÄÖÐÎÄ Ó¢ÎÄ ±êµã·ûºÅ »»ÐеȵÄÊýÄ¿ ºÍ²»¿É¼û×Ö·ûµÄÊýÄ¿¡£
3. ¿É¼ûµÄΪһÀ࣬²»¿É¼ûµÄÒ»À࣬½øÐиÅÂʼÆËã¡£
4. É趨һ¸öValve·§Öµ¡£
5. ³¬¹ýÕâ¸ö·§ÖµµÄ¿ÉÒÔÅжÏΪBIN,·ñÔò¿ÉÒÔÅж¨ÎªÎı¾¡£¶øÇÒ»¹ÊÇÖÐÎÄ»ìºÏÎı¾¡£
FirefoxºÃÏñÒ²¾ÍÊÇÕâôÅжϵġ£
ÓÐÆ¬FireFoxµÄÂÛÎÄ£¬ÕÒÕÒ¡£
======= 2006-11-02 16:08:05 ÄúÔÚÀ´ÐÅÖÐдµÀ£º=======
>def is_binary (filename):
>
> fin = open(filename, 'rb')
> wholething = fin.read()
> fin.close()
> for c in wholething:
> if ord(c) & 0x80:
> return 1
> return 0
>
>¿´µ½ÓÐÈËдÁËÈçÉϵĺ¯Êý£¬ÅжÏÎļþÊÇ·ñΪ¶þ½øÖÆ£¬µ«ÈçÉÏÅб𣬸ù±¾´¦Àí²»ÁËÖÐÎÄ£¬
>ÓÐÎ޺ð취£¿
>_______________________________________________
>python-chinese
>Post: send python-chinese在lists.python.cn
>Subscribe: send subscribe to python-chinese-request在lists.python.cn
>Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn
>Detail Info: http://python.cn/mailman/listinfo/python-chinese
= = = = = = = = = = = = = = = = = = = =
ÖÂ
Àñ£¡
jxppp.liu
jxppp.liu在gmail.com
2006-11-02
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20061102/9b3ac5ed/attachment.htm
2006年11月03日 星期五 09:30
ллÄú£¡ Äã˵µÄÕâ¸öͳ¼ÆµÄ°ì·¨Ó¦¸ÃûÎÊÌ⣬ÎÒÔÙ²é²é¿´Äã˵µÄÄÇÆ¬ÂÛÎÄ.unix ϵÄfile ÃüÁîÓ¦¸ÃÒ²ÊDzÉÈ¡µÄͳ¼Æ°ì·¨. 2006/11/2, jxppp.liu <jxppp.liu在gmail.com>: > > ÊÔ̽×ÅÈ¥½øÐС£ > ¾ÍºÍFirefoxÅжÏÍøÒ³±àÂëÀàËÆ¡£ > Èç¹û¾Íµ¥´¿µÄ½øÐÐGBKµÄ³öÀ´ÓÖ»á¼òµ¥Ð©¡£ > > αÂ룺 > 1. ¶Áȡͷ²¿N¸ö×Ö·û¡£ > 2. ÊÔ×ÅÈ¥·ÖÎöÕâN¸ö×Ö·û£¬Æäʵ¾ÍÊÇÖÐÎÄÇдʡ£ > ͳ¼Æ³öÀ´µÄÖÐÎÄ Ó¢ÎÄ ±êµã·ûºÅ »»ÐеȵÄÊýÄ¿ ºÍ²»¿É¼û×Ö·ûµÄÊýÄ¿¡£ > 3. ¿É¼ûµÄΪһÀ࣬²»¿É¼ûµÄÒ»À࣬½øÐиÅÂʼÆËã¡£ > 4. É趨һ¸öValve·§Öµ¡£ > 5. ³¬¹ýÕâ¸ö·§ÖµµÄ¿ÉÒÔÅжÏΪBIN,·ñÔò¿ÉÒÔÅж¨ÎªÎı¾¡£¶øÇÒ»¹ÊÇÖÐÎÄ»ìºÏÎı¾¡£ > > FirefoxºÃÏñÒ²¾ÍÊÇÕâôÅжϵġ£ > ÓÐÆ¬FireFoxµÄÂÛÎÄ£¬ÕÒÕÒ¡£ -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20061103/5b53ca19/attachment.html
Zeuux © 2025
京ICP备05028076号