只看楼主 楼主

详细讲解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流就能按照需要的编码打开,就不会乱码了

本信息来源于www.huahainet.cn,原文地址:http://www.huahainet.cn/webkf/ShowArticle.asp?ArticleID=68
hhnet的签名
CHINAZ官方广告

 TOP

只看该用户 沙发

Re:详细讲解ASP检测文件编码的实现方法

不错了
w6565w的签名
快速安全备案1-3天,网址[b][url=http://www.icpba.cn]www.icpba.cn[/url]淘宝双钻石店铺担保[/b]联系qq 7799587 群11995599



 TOP

只看该用户 板凳

Re:详细讲解ASP检测文件编码的实现方法

不错了
w6565w的签名
快速安全备案1-3天,网址[b][url=http://www.icpba.cn]www.icpba.cn[/url]淘宝双钻石店铺担保[/b]联系qq 7799587 群11995599



 TOP