检查一段文字是何种语言以及编码-通过python自带的chardet进行判断

我在前两篇的文章中分享了如何手动编写python程序判断字节串是否是UTF8编码以及判断字符串是何种语言。手动编写的好处在于明白原理性的内容,但是较为麻烦,同时有的场景下效果也不是特别的好,因此本文介绍python自带的chardet来实现编码类型和语言类型的判断。

通常安装python之后也会默认安装chardet模块。如果没有该模块,可以通过pip install chardet进行安装。

由于该模块可以判断编码方式,因此通常的输入是字节流,也就是字节串。而上一篇,关于字节串和字符串区别有简单的描述,不明白字符串和字节串的可以看下,这里。代码示例如下:

def encodingAndLanguageDetect(text):
    import chardet
    print(chardet.detect(text)['encoding'])
    print(chardet.detect(text)['language'])
    print(chardet.detect(text)['confidence'])
    return chardet.detect(text)

可以看到,chardet的输出包含三个方面,编码方式,概率以及语言类型。其中概率表示的是检测输入的编码方式的可能性。先判断是何种编码方式,就知道了该输入是什么样的字符串,就可以根据字符串判断是何种语言类型了。但是事实上在使用的过程中发现chardet对于语言检测的支持并不是很好,很多情况下的输出为空,因此可能满足不了一些场景的需求。可以使用google提供的语言检测模块,我将在下一篇文章继续介绍。

本文为CSDN村中少年原创文章,转载记得加上小尾巴偶,博主链接这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

村中少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值