标签:os ar sp c r bs har text 字符串
github.com/hydra13142/chardet
以上就是地址。支持中文编码(hz-gb2312、big5、gbk、gb18030)、韩文编码(euc-kr)、日文编码(shift-jis、euc-jp、iso-2022-jp)和unicode编码(UTF-8、UTF-16BE、UTF-16LE、UTF-32BE、UTF-32LE)的检测。
除了合法性检测之外,还会根据字符分布来进一步检测,返回得分最高的。当然这一步就不能保证准确性了,如果文本不是那种特别怪异的,大致上还是能保证检测正确的。
本包只有两个函数:
// 本函数返回文本最可能的编码格式
func Mostlike([]byte) string
// 本函数返回文本所有可能的编码格式,可能性越高越靠前
func Possible([]byte) []string
返回的字符串就是上述编码的字符串名称(小写版本)。
为啥只有这些编码可以检测?
当然是因为第一code.google.com/p/go.text包里只有这些编码格式的编解码器;第二除了中日韩还有unicode,其他几乎所有的编码格式都是单字节的,检测个毛啊……
标签:os ar sp c r bs har text 字符串
原文地址:http://my.oschina.net/u/593413/blog/314483