如何判断字符是UTF-8的编码?

时间:2023-01-06 21:55:25
有没有办法直接判断出字符是UTF-8的编码? 
有现成的库么? 
请各位兄弟指教。

11 个解决方案

#1


我有一些数据存在数据库中,其中有些是utf-8的,有些不是,我主要目的是想查出那些不是utf-8的非法数据。希望各位兄弟指条道。

#2


http://www.douzi.org/blog/180.html
http://www.utf8.org/

#3


还有么?

#4


这个问题太难了么?
我想知道是否有现成的判断UTF-8的函数?

#5


关注

#6


恩,这个贴到现在还没有人回的???

#7


http://www.linuxforum.net/books/UTF-8-Unicode.html

不知道,不过我想应该从UTF-8的特征去判断吧,检查到特定的细节,符合UTF-8特征,则就是了。

#8


在网络上找到一点,希望对你有帮助:

BOM(byte order mark)检测 
无BOM检测 
BOM是用来标记UTF-8编码的开始,它为三个字节:0xEF, 0xBB, 0xBF, 
必需在串的开始。因此函数中的循环最多检测前三个字符,如果是的话, 
则退出循环,判断完毕。 

但很多UTF-8编码的文件没有BOM字节,因此循环后面的方法就是利用了 
UTF-8编码的规律来进行判断,具体的原理就不多说了,看一看我上面链 
接的文章应该就清楚了,但你要知道UTF-8编码的规则才可以。 

http://www.linuxforum.net/forum/showflat.php?Cat=&Board=python&Number=495520&page=12&view=collapsed&sb=5&o=&fpart=1

#9


谢了。

#10


不客气。

#11


我自己写过utf8和ucs2互相转换的函数。不是太麻烦。
如果只是判断的话,更简单了。

#1


我有一些数据存在数据库中,其中有些是utf-8的,有些不是,我主要目的是想查出那些不是utf-8的非法数据。希望各位兄弟指条道。

#2


http://www.douzi.org/blog/180.html
http://www.utf8.org/

#3


还有么?

#4


这个问题太难了么?
我想知道是否有现成的判断UTF-8的函数?

#5


关注

#6


恩,这个贴到现在还没有人回的???

#7


http://www.linuxforum.net/books/UTF-8-Unicode.html

不知道,不过我想应该从UTF-8的特征去判断吧,检查到特定的细节,符合UTF-8特征,则就是了。

#8


在网络上找到一点,希望对你有帮助:

BOM(byte order mark)检测 
无BOM检测 
BOM是用来标记UTF-8编码的开始,它为三个字节:0xEF, 0xBB, 0xBF, 
必需在串的开始。因此函数中的循环最多检测前三个字符,如果是的话, 
则退出循环,判断完毕。 

但很多UTF-8编码的文件没有BOM字节,因此循环后面的方法就是利用了 
UTF-8编码的规律来进行判断,具体的原理就不多说了,看一看我上面链 
接的文章应该就清楚了,但你要知道UTF-8编码的规则才可以。 

http://www.linuxforum.net/forum/showflat.php?Cat=&Board=python&Number=495520&page=12&view=collapsed&sb=5&o=&fpart=1

#9


谢了。

#10


不客气。

#11


我自己写过utf8和ucs2互相转换的函数。不是太麻烦。
如果只是判断的话,更简单了。