怎么在不打开文件的情况下得到文件的编码?

懒得去死 2007-12-08 09:38:11
WINDOWS下怎么在不打开文件的方式下得到文件的编码?
...全文
163 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
drifter250771 2007-12-08
  • 打赏
  • 举报
回复
“文件的编码”是什么意思?
gernal_dn 2007-12-08
  • 打赏
  • 举报
回复
这要看你对“打开”这个概念如何界定。
如果从程序的角度看,如果不打开文件,将得不到文件的任何信息,能得到的只是文件名所在文件系统的信息,如文件名、创建时间、占硬盘空间等,不可能得到文件编码!
如果指的是“非独占式打开”,那到可以做到。方法1,自己编一个软件,将功能整合到鼠标右键功能菜单中;方法2,UltraEdit可以以非独占方式打开文件。
ljc007 2007-12-08
  • 打赏
  • 举报
回复
'QueryCode.vbs  BY: fastslz             http://bbs.cn-dos.net    2007-12-06
'支持批量查询,可以放在SendTo扩展应用

set files=WScript.Arguments
if files.Count=0 Then
MsgBox "请将要查询的文件拖动到这个文件里! ", vbInformation, "文件编码查询工具 BY: fastslz"
end if
for i=0 To files.Count-1
file=files(i)
Call CheckCode ("   编码为:")
next

Function CheckCode (Usage)
Dim slz
set slz = CreateObject("Adodb.Stream")
slz.Type = 1
slz.Mode = 3
slz.Open
slz.Position = 0
slz.Loadfromfile file
Bin=slz.read(2)
if AscB(MidB(Bin,1,1))=&HEF and AscB(MidB(Bin,2,1))=&HBB Then
Codes="UTF-8"
elseif AscB(MidB(Bin,1,1))=&HFF and AscB(MidB(Bin,2,1))=&HFE Then
Codes="Unicode"
else
Codes="GB2312"
end if
WScript.echo file,Usage,Codes
slz.Close
set slz = Nothing
End Function

6,871

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧