用asp实现检测文件编码

2020-03-20 16:00:41来源:爱站网 阅读 ()

新老客户大回馈,云服务器低至5折

ASP环境中,FSO用于运行静态和动态操作,然而它是一个专门用于操作文件的组件,爱站技术频道在下文为大家分享了用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流就能按照需要的编码打开,就不会乱码了

爱站技术频道已经在上文为大家全面解答了用asp实现检测文件编码,如果大家还想要了解更多的内容的话,就继续关注js.aizhan.com吧!


原文链接:https://js.aizhan.com/develop/asp/12220.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:ASP编码优化技巧8则

下一篇:asp数个使用技巧