csdn10年中间经典帖子
源代码在线查看: csdn_文档中心_如何区别文本是big5还是gb.htm
CSDN_文档中心_如何区别文本是BIG5还是GB?
href="CSDN_文档中心_如何区别文本是BIG5还是GB.files/csdn.css" rel=stylesheet>
.title0 {
COLOR: #ffffff; FONT-FAMILY: arial; FONT-SIZE: 17px; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
A.title2:link {
COLOR: #000000; TEXT-DECORATION: none
}
A.title2:visited {
COLOR: #000000; TEXT-DECORATION: none
}
A.title2:active {
COLOR: #ff0000; TEXT-DECORATION: none
}
A.title2:hover {
COLOR: #ff0000; TEXT-DECORATION: none
}
function submitlog(sign)
{
var types=document.alogon.type.options[document.alogon.type.selectedIndex].value;
if (document.alogon.name.value!="" && document.alogon.pass.value!="")
{
if (types!="1")
document.alogon.action="http://www.csdn.net/member/logon.asp";
else
document.alogon.action="http://expert.csdn.net/member/logon.asp";
if(sign)
document.alogon.submit();
//return true;
}
else
{
if (document.alogon.name.value=="")
alert("请输入用户名!");
if (document.alogon.pass.value=="")
alert("请输入密码");
return false;
}
return true;
}
function GetMyPass()
{
if (document.alogon.name.value!="")
{
document.alogon.action="http://www.csdn.net/member/getpass.asp";
document.alogon.submit();
}
else
{
alert("请在姓名输入框里输入用户名或注册EMAIL!");
}
}
// -->
href="http://www.csdn.net/member/login.asp">登
录.. target=_blank>[注 册] href="http://www.csdn.net/member/login.asp"> color=#ffff33>忘记密码 href="http://www.csdn.net/member/logonout.asp"> color=#ffff33>注销登录
src="CSDN_文档中心_如何区别文本是BIG5还是GB.files/top_1.gif" width=20>
color=#ffffff> class=FormText_1 name=type> 新闻标题
软件名称 商品名称 value=4>文档标题 职位名称
src="CSDN_文档中心_如何区别文本是BIG5还是GB.files/csdn.gif" width=120>
var rand = Math.random().toString();
var ordval = parseInt(rand.substring(2,4));
function Showad(width)
{
if(width=='468')
{
document.write(" ");
return;
}
if(width=='120')
{
document.write("");
return;
}
return;
}
Showad('468')
Showad('120')
class=title0>csdn.net
width=770>
scrollDelay=80>
document.write("");
document.ns = navigator.appName == "Netscape"
tmpDate = new Date();
date = tmpDate.getDate();
month= tmpDate.getMonth() + 1 ;
if(document.ns)
{
year1=tmpDate.getYear()
year= year1.toString().substr(1,2);
}
else
year= tmpDate.getYear();
document.write(year);
document.write(".");
document.write(month);
document.write(".");
document.write(date);
// -->
CSDN - href="http://www.csdn.net/develop/">文档中心 - color=#003399>Visual C++
color=#ffffff>标题
如何区别文本是BIG5还是GB? ghj1976(转贴)
关键字
如何区别文本是BIG5还是GB?
color=#ffffff>出处
href="http://www.workonnet.com/bbsclassic/0009.html">http://www.workonnet.com/bbsclassic/0009.html
关于GB与BIG5码的判别,没有100%可靠的方法。但是从两个编码系统汉字的分布来看,
还有可以作一定的判断的。
GB码的编码范围是首字节A1-F7,尾字节A1-FE,而且首字节A1-A9是符号区,AA-AF这
一段没有定义。BIG5码的编码范围是首字节A1-F9,尾字节分两段,分别是40-7E及
A1-FE,首字节A1-A3是符号区,A4-C5是常用汉字区。
这样我们可以找到几个依据:
1)尾字节40-7E是BIG5码特有的,可以以此来判别,但是现在GBK在这个码区也定义了
字符,不过这些汉字的使用频度不高,所以仍然可以作为一条依据,但无法保证100%
正确;
2)首字节A4-A9在GB中为日文假名、希腊字母、俄文字母和制表符,正常文本中很少
出现,AA-AF则根本没有定义,但这个范围却是BIG5码的常用汉字,所以如果文本中
频繁出现这个范围的码,也可以认为是BIG5码。尤其是首字节位于AA-AF之间,尾字
节位于A1-FE的,几乎100%是BIG5码无疑,因为即使在GBK中,这个范围也是没有定
义的。
为了提高识别的正确率,最好多种判据同时使用。另外还可以通过分析汉字出现的频
率,或查找某些常用的词组来判别。因为做起来比较复杂,就不多说了。
首字节C6-D7,尾字节A1-FE在GB中属于一级字库,是常用汉字,而在BIG5中,C6-C7没
有明确定义,但通常用来放日文假名和序号,C8-D7属于罕用汉字区。所以如果这个范
围的码出现较多,可以判别为GB码。
width=770>
color=#ffffff>对该文的评论
width=770>
color=#ffffff>我要评论
function isEmpty(s)
{
return ((s == null) || (s.length == 0))
}
function fubmitok()
{
if (isEmpty(document.add_critique.Critique_Content.value))
{
alert('评论不能为空!!!!') ;
return false;
}
document.add_critique.submit();
}
//-->
name=Critique_State type=hidden value=add> 评论人:xyj0323
评论:
value=/Develop/Build_Article.asp?id=1838>
href="http://www.csdn.net/intro/intro.asp?id=2">网站简介 - href="http://www.csdn.net/intro/intro.asp?id=5">广告服务 - href="http://www.csdn.net/map/map.shtm">网站地图 - href="http://www.csdn.net/help/help.asp">帮助信息 - href="http://www.csdn.net/intro/intro.asp?id=2">联系方式 - href="http://www.csdn.net/english">English
href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010"> border=0 height=48 src="CSDN_文档中心_如何区别文本是BIG5还是GB.files/biaoshi.gif"
width=40>
百联美达美公司 版权所有 京ICP证020026号
Copyright © CSDN.net, Inc. All rights
reserved