【编程开发】AspAsp.NetCGIPHPJspXMLPERLC++C#VCVBDelphiPowerBuilderJAVA汇编数据库编程移动开发其它语言

您现在的位置:首页 > 网络学院 > 编程开发 > Asp > 用ASP来检测网页文件的编码方式

用ASP来检测网页文件的编码方式

来源: 作者: 日期:2006-12-26

【聚杰网Asp】用ASP来检测网页文件的编码方式

原理:用stream对象预读文件的头两个字节,分析判断出utf-8,unicode,ANSI(简体中文操作系统,即gb2312)编码。

  相关资料:

  ANSI:        无格式定义;

  Unicode:        前两个字节为FFFE;

  Unicode big endian:  前两字节为FEFF;

  UTF-8:         前两字节为EFBB;

以下是引用片段:
  function checkcode(path)
  set objstream=server.createobject("adodb.stream")
  objstream.Type=1
  objstream.mode=3
  objstream.open
  objstream.Position=0
  objstream.loadfromfile path
  bintou=objstream.read(2)
  If AscB(MidB(bintou,1,1))=&HEF And AscB(MidB(bintou,2,1))=&HBB Then
  checkcoder="utf-8"
  ElseIf AscB(MidB(bintou,1,1))=&HFF And AscB(MidB(bintou,2,1))=&HFE Then
  checkcode="unicode"
  Else
  checkcode="gb2312"
  End If
  objstream.close
  set objstream=nothing
  end function

  补充:

  谢小雨提醒,先前的简直是胡扯;ANSI的本地编码,都是各国自己定义的,没有固定的文件头格式,在大陆中文操作系统下,是可读的gb2312,在其他语言的系统下,就是乱码,所以这部分没必要再详细区分

  得到文件编码,stream流就能按照需要的编码打开,就不会乱码了

评论   点击查看全部评论
您的评论参与,将为聚杰带来更大的动力!请不要吝啬!
快速回复
请使用文明语言让我们维护健康绿色网络环境!

匿名发表   验证码: