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

kunkunpp 2005-01-19 05:40:09
有没有办法直接判断出字符是UTF-8的编码?
有现成的库么?
请各位兄弟指教。
...全文
579 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjxiaoyu 2005-01-20
  • 打赏
  • 举报
回复
我自己写过utf8和ucs2互相转换的函数。不是太麻烦。
如果只是判断的话,更简单了。
daylove 2005-01-20
  • 打赏
  • 举报
回复
不客气。
kunkunpp 2005-01-20
  • 打赏
  • 举报
回复
谢了。
daylove 2005-01-20
  • 打赏
  • 举报
回复
在网络上找到一点,希望对你有帮助:

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
daylove 2005-01-20
  • 打赏
  • 举报
回复
http://www.linuxforum.net/books/UTF-8-Unicode.html

不知道,不过我想应该从UTF-8的特征去判断吧,检查到特定的细节,符合UTF-8特征,则就是了。
kunkunpp 2005-01-20
  • 打赏
  • 举报
回复
恩,这个贴到现在还没有人回的???
asmgirl 2005-01-19
  • 打赏
  • 举报
回复
关注
kunkunpp 2005-01-19
  • 打赏
  • 举报
回复
这个问题太难了么?
我想知道是否有现成的判断UTF-8的函数?
kunkunpp 2005-01-19
  • 打赏
  • 举报
回复
还有么?
dongyuanzhang 2005-01-19
  • 打赏
  • 举报
回复
http://www.douzi.org/blog/180.html
http://www.utf8.org/
kunkunpp 2005-01-19
  • 打赏
  • 举报
回复
我有一些数据存在数据库中,其中有些是utf-8的,有些不是,我主要目的是想查出那些不是utf-8的非法数据。希望各位兄弟指条道。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧