|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2015/10/13 14:10:54 |
标题: |
有什么好办法识别utf8 无bom和ansi区别? |
浏览:1769 |
|
加入我的收藏 |
楼主: |
看很多文章都是说判断文件头前三个字节,但是ansi编码和utf8 无bom编码无法通过这种方式判断,有什么好办法吗?
而且对于特殊文字,比如 联通 这类的,很容易判断错编码类型
----------------------------------------------
我爱Delphi,永远的Delphi,哪怕Delphi淘汰了,出局了,被世人淡忘了我也爱,除非我死了否则就是爱Delphi |
作者: |
|
2015/10/13 14:48:13 |
1楼: |
无 bom 可以所以官方提供的函数 IsUTF8Encoding 或者叫做 IsUTF8String 函数。
只支持 ANIS 和 UTF8,不支持 Unicdoe 。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
gmxyb (gmxyb) |
★☆☆☆☆ |
-
|
普通会员 |
|
2015/10/13 16:15:22 |
2楼: |
。。。这个没啥好办法,只能靠:猜
----------------------------------------------
-
|
作者: |
|
2015/10/13 16:18:19 |
3楼: |
不信就算了。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
gmxyb (gmxyb) |
★☆☆☆☆ |
-
|
普通会员 |
|
2015/10/13 20:49:49 |
4楼: |
楼上的,别一知半解,IsUTF8String 是检测字符串里是否含有貌似utf8编码的字符, 用的办法就是猜.
----------------------------------------------
-
|
作者: |
|
2015/10/14 8:52:08 |
5楼: |
爱信不信。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
|
2015/10/14 9:44:29 |
6楼: |
IsUtf8String就是检测文本是否在UTF8的定义范围内,全部都在范围内,就认为是UTF8,否则就是Ansi,简单地判断是UTF8还是ANSI,用IsUtf8String就可以了。 当然,如果更复杂的判断,,只能靠猜了。 可以参考我之前的一个方法:http://dreamisx.blog.163.com/blog/static/11500483920122134947776/
----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了……
|
作者: |
|
2015/10/14 10:26:40 |
7楼: |
楼上的文章太厉害了。 收藏。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
|
2015/10/14 21:40:45 |
8楼: |
6的方法确实不错,但缺点也如文中说的,文本太短不准确的比例就高很多,文本越长准确率越高
----------------------------------------------
我爱Delphi,永远的Delphi,哪怕Delphi淘汰了,出局了,被世人淡忘了我也爱,除非我死了否则就是爱Delphi
|
|