作家
登录

用asp实现检测文件编码

作者: 来源:www.28hudong.com 2013-03-30 08:51:17 阅读 我要评论

最近,在搞这个东西,网上也找不到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流就能按照需要的编码打开,就不会乱码了

  推荐阅读

  ASP编程入门进阶(十八):FSO组件之文件操作(上)

FSO中除了可以对驱动器、文件夹的操作以外,功能最强大的就是对文件的操作了。它可以用来记数、内容管理、搜索还可生成动态HTML页面等等。一、fso.OpenTextFile无需多说,fso.OpenTextFile就是打开某个文件了,一般>>>详细阅读


本文标题:用asp实现检测文件编码

地址:http://www.17bianji.com/kaifa2/ASP/32865.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)