社区
工具平台和程序库
帖子详情
也许不应该发这里:已知编码,如果通过字符判断html文档语言?
nxnh
2008-01-23 11:36:05
我这现在有一大堆html文档,大部分是utf-8编码,什么语言都有。另一些是gb2312的,还有少部分是utf-7及gbk。我想挑选出其中的中文网页,gb的不用动了,但我不太了解utf-8编码,谁知道怎样通过读取字符判断该文档的语言?主要是utf-8。谢谢。
...全文
111
14
打赏
收藏
也许不应该发这里:已知编码,如果通过字符判断html文档语言?
我这现在有一大堆html文档,大部分是utf-8编码,什么语言都有。另一些是gb2312的,还有少部分是utf-7及gbk。我想挑选出其中的中文网页,gb的不用动了,但我不太了解utf-8编码,谁知道怎样通过读取字符判断该文档的语言?主要是utf-8。谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nxnh
2008-02-04
打赏
举报
回复
原来linux下转换编码有库的, iconv.h。
nxnh
2008-01-29
打赏
举报
回复
研究研究...估计把这活干完我就是半个编码专家了。
草原可可
2008-01-27
打赏
举报
回复
uft-8是国际标准 都可以用的
Mnky
2008-01-27
打赏
举报
回复
这种东西就是概率猜的,记事本和UltraEdit都是这么做的,通过文本的统计来选择一种最可能的编码方式来打开。
nxnh
2008-01-27
打赏
举报
回复
现在的问题是我已经知道编码,但是不知道是不是中文写成的。
我打算使用这种办法,先把编码转换为utf-8,再查里面有多少字符是在中文编码区间的。
redleaves
2008-01-27
打赏
举报
回复
to nxnh:
用UTF-8几乎没有办法直接判断字符的字面区间,而且它还是变长编码...
要判断,最好直接使用UNICODE/UCS2/UCS4.
nxnh
2008-01-27
打赏
举报
回复
to redleaves:我就是那个意思,编码太多,都转成一个utf-8便于处理。utf-8的中文区间好象是三段,就是转换编码的不好弄,有gb2312,gbk,gb18030,utf-7,utf-16,iso-8859-1 .... 这个让别人去弄。
to Mnky:你没看明白我的问题...
redleaves
2008-01-27
打赏
举报
回复
TO nxnh:
UTF-8怎么看是什么编码区间?再转回UNICODE?
其实GB2312也是有固定的中文区域的....
不过如果你的文本有很多种编码,那就最好把它们都转成UNICODE/UCS2/UCS4.这样就有据可查,只要看字符处于什么区间,就可以判断内容是什么.
只是中文的区间分了好几段....
redleaves
2008-01-25
打赏
举报
回复
BOM头并不是所有的文本都有....
一般来说,很难准确判断文本文件是什么编码的.
目前来说,唯一比较有效的办法是转换测试.
比如:先假设文件为gb2312,然后把它转换为UNICODE,然后再转换回来.比较原始的字符串和转换出来的字符串.如果完全一样,那可以认为文件是gb2312的.至少gb2312可以正确的表示文本里的内容....
对于UTF-8就要简单一点,因为UTF-8有固定的编码规范,在排除了其它编码的情况下,如果文本符合它的编码规范,就表示它是一个UTF-8格式的文本.
nxnh
2008-01-25
打赏
举报
回复
但它不是以ee bb bf开头的
nxnh
2008-01-24
打赏
举报
回复
还是不行,这个网页就不是这样:
http://www.htcca.org/uk/aspect.html
我采用查看字符分布的方法解决了,就是看哪些字符是什么值来判断。虽然不是很准确,但是也凑和了。
nxnh
2008-01-24
打赏
举报
回复
谢谢楼上,解决了我的大问题。
loops
2008-01-24
打赏
举报
回复
http://www.htcca.org/uk/aspect.html 为啥不行?charset="utf-8"的啊。
loops
2008-01-23
打赏
举报
回复
(1)对于littile endian的utf-8查找开头三个字节是否是 EF BB BF
(2)用regex查找一下charset="utf-8"
(3)查判断编码的开源软件,我记得有,但是名称忘掉了。但是这种方法不一定100%准确。
数据结构【二】:霍夫曼
编码
本质上使用变长
编码
表对源符号进行
编码
,通过评估源符号出现概率的方法进行分类,将出现几率较高的源
字符
使用较短的
编码
,出现几率较低的源
字符
使用较长的
编码
,使得整体的
字符
串的平均长度、期望值较低,从而达到无损压缩数据的目的。因为该
文档
有a、b、c、d、e五个
字符
,那么其处于2的2次方和2的3次方之间,则可用3位2进制数进行
编码
,假设a:000,b:001,c:010,d:011,e:100;,
文档
的压缩比是多少?因此,a的
编码
为0,b的
编码
为101,e的
编码
为101,d的
编码
为110,c的
编码
为111;
【
字符
编码
】Unicode
字符
集与
字符
编码
方式
字符
编码
区别:
字符
集
字符
编码
存储
编码
ASCII Unicode UCS UTF ANSI UTF-8 UTF16 UTF32 GB2312 GBK GB18030 BIG-5
开
发
过程中,使用文本
文档
、Word
文档
过程中,经常会遇到乱码,这些乱码是怎么产生的?
字符
存储都与哪些因素有关? 经常听到的
字符
集、
字符
编码
是什么?文件存储
编码
是什么? Windows记事本另存为时可以选择:ANSI、Unicode、Unicode Big Ending、UTF-8,分别表示什么?如何转换?Windows系统如何区分一个txt
文档
是什么
编码
的? 基本概念
字符
(Chara...
字符
编码
方式及
判断
整理(ANSI,Unicode,utf-8,utf-16,utf-32)
一、
编码
方式 说
编码
之前,先扯个淡!大家都知道计算机只能识别1和0,
编码
就是将不同的符号与1和0的组合进行一下映射,做到能够表示哪个组合能够对应那个
字符
,由于早期的不能预料到未来的情况,后续互联网扩张后又要做到兼容,就出现了五花八门的
编码
。还值得一说的是计算机的处理一般面向字节或者字,位的操作也
应该
是通过对字节处理来模拟的。
编码
的长度一般都以字节来算。 学习C
语言
的同学最刚开
字符
集、
字符
编码
格式检测和转码
字符
集、
字符
编码
格式检测和转码
工具平台和程序库
24,855
社区成员
27,343
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章