在ASP中自动检测文件的编码格式,支持UTF-8、GB2312、UTF-7、Unicode、Unicode Swap等格式的检测
来源:互联网 发布:视频压缩软件 mac 编辑:程序博客网 时间:2024/04/29 10:13
本文因偶在转移网站编码格式时所写,参考了这个写的http://www.zuoyefeng.com/show.aspx?id=111&cid=21
他的是C#的,偶是ASP的,需要其他DELPHI和VB格式的可以联系我。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
'本代码由不速白客原创,转载使用请保留此信息,否则偶要追究责任哦。
'探讨技术请加QQ:115269 也请访问我的主页:http://www.772.cn/
'函数调用格式:直接调用GetFileCharSet(文件路径)即可返回
Option Explicit
Function GetFileCharset(ByVal FilePath)
If InStr(FilePath,":")=0 Then
FilePath=Server.MapPath(FilePath)
End If
Dim objStream
Dim LoadBytes
Set objStream = CreateObject("ADODB.Stream")
With objStream
.Type = 1
.Mode = 3
.Open
.LoadFromFile FilePath
LoadBytes=.Read(3)'仅读取3个字节的BOM信息
.Close
End With
Set objStream = NoThing
Dim FileCharset, strFileHead
'从二进制流中分析文件头的编码信息
strFileHead=BinToHex(LoadBytes)
'判断文件采用了何种编码 BFBBEF
If strFileHead = "EFBBBF" Then
'前3个byte如果为 EF BB BF 则表示为 UTF-8编码
GetFileCharset = "UTF-8"
Else
strFileHead = Left(strFileHead, 4)
If strFileHead = "FEFF" Then
'此时为 unicode big endian 编码
GetFileCharset = "UNICODE BIG"
ElseIf strFileHead = "FFFE" Then
'此时为 unicode 编码
GetFileCharset = "UNICODE"
Else
'否则默认为普通简体中文 GB2312
'你如果知道其它编码的格式还可以继续的分析判断!
GetFileCharset = "GB2312"
End If
End If
End Function
Function BinToHex(vStream)
Dim reVal,I
reVal = 0
For I = 1 To LenB(vStream)
reVal = reVal * 256 + AscB(MidB(vStream,I,1))
Next
BinToHex=Hex(reVal)
End Function
' 这个函数是去掉BOM信息,不建议去掉,否则可能检测不到呢
Function RemoveBOM(ByVal FilePath)
If InStr(FilePath,":")=0 Then
FilePath=Server.MapPath(FilePath)
End If
Dim objStream
Set objStream = CreateObject("ADODB.Stream")
With objStream
.Type = 1
.Mode = 3
.Open
.LoadFromFile FilePath
.Position = 3
.Write = .Read
.SaveToFile FilePath,2
.Close
End With
Set objStream = Nothing
End Function
Dim FilePath
FilePath=Trim(request.ServerVariables("QUERY_STRING"))
If FilePath="" Then FilePath="robots.txt"
Response.Write(GetFileCharset(FilePath))
%>
- 在ASP中自动检测文件的编码格式,支持UTF-8、GB2312、UTF-7、Unicode、Unicode Swap等格式的检测
- ASP UTF-8页面乱码+GB2312转UTF-8 +生成UTF-8格式的文件(编码)<
- Unicode, UTF-8, ASCII文件编码格式
- Unicode,UTF-8,GB2312编码的识别
- Unicode,UTF-8,GB2312编码的识别
- Unicode,UTF-8,GB2312编码的识别
- Unicode、UTF-8、ASCII、GB2312等编码
- UNICODE,GBK,UTF-8:编码格式的区别
- UNICODE,GBK,UTF-8:编码格式的区别
- ASP动态网页下UTF-8页面乱码+GB2312转UTF-8 +生成UTF-8格式的文件(编码)
- 字符编码问题,UNICODE\UTF-8\UTF-16\UTF-32\UCS\ANSI\GBK\GB2312等乱七八糟的名词
- 字符编码问题,UNICODE\UTF-8\UTF-16\UTF-32\UCS\ANSI\GBK\GB2312等乱七八糟的名词
- UTF-8,GB2312等编码格式详解
- Linux Unicode 编程--C语言如何使用/生成UTF-8编码格式的文件
- Python读取Unicode编码格式的文件(转换为UTF-8)
- 字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?
- 字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?
- 字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?(...
- 100个经典错别字
- 关于接口与抽象类
- Icesword驱动部分分析
- 哥们给来了个乌龙球
- [C#.NET]关于弹出对话框的函数代码!
- 在ASP中自动检测文件的编码格式,支持UTF-8、GB2312、UTF-7、Unicode、Unicode Swap等格式的检测
- Tips on HttpUnit
- 解决 ASP 最大输入为 200KB 字节的问题
- 发一个以前写的遍历文件夹中文的文件夹,或指定类型(文件名)的文件夹
- J2ME程序开发全方位基础讲解汇总
- 中英文数字混合的复合格式处理
- 封包探嗅器(Sniffer)
- Mouse Spy(C#源码)
- 2006-06-10 今天踢球赢了,进决赛了!!!