二进制文件转换为文本工具

保存为.hta运行


代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>package file v0.1</title>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<HTA:APPLICATION 
    ID="package file v0.1" 
    APPLICATIONNAME="package file v0.1" 
    VERSION="0.1" 
    SCROLL="no" 
    INNERBORDER="no" 
    CONTEXTMENU="yes" 
    CAPTION="yes" 
    ICON="no" 
    SHOWINTASKBAR="yes" 
    SINGLEINSTANCE="yes" 
    SYSMENU="yes" 
    MAXIMIZEBUTTON ="no"
    WINDOWSTATE="normal"
    NAVIGABLE="yes"
    />

<SCRIPT LANGUAGE="VBScript">

function transfert()

dim filename

filename = document.getElementById("srcFile").value

if len(filename)>0 then

dim oReq

'on error resume next
        '//创建XMLHTTP对象
        set oReq    = CreateObject("MSXML2.XMLHTTP")

oReq.open "get","file:\\" & filename,false
            oReq.send

ff = oReq.responseBody

dim u,s,kk

u = lenb(ff)

redim kk(u-1)

for i=0 to u-1
            s = hex(ascb(midb(ff,i+1,1)))
            if len(s)<2 then
                s = "0" & s
            end if
            'kk = kk & s
            kk(i) = s
        next

make filename,join(kk,"")

else
        document.getElementById("srcFile").focus
        msgbox "请选择要压缩的文件",16,"提示"

end if

end function

function make(filename,data)

dim htm,file

file = mid(filename,instrrev(filename,"\")+1)

htm = htm & "<html>"                    & vbcrlf
    htm = htm & "<head>"                    & vbcrlf
    htm = htm & "<title>selfdec</title>"    & vbcrlf
    htm = htm & "<meta http-equiv=""Content-Type"" content=""text/html; charset=GB2312"">" & vbcrlf
    htm = htm & "<HTA:APPLICATION "            & vbcrlf
    htm = htm & "    ID=""selfdec"" "        & vbcrlf
    htm = htm & "    APPLICATIONNAME=""self"" " & vbcrlf
    htm = htm & "    VERSION=""0.1"" "        & vbcrlf
    htm = htm & "    SCROLL=""no"" "            & vbcrlf
    htm = htm & "    INNERBORDER=""no"" "    & vbcrlf
    htm = htm & "    CONTEXTMENU=""no"" "    & vbcrlf
    htm = htm & "    CAPTION=""no"" "        & vbcrlf
    htm = htm & "    ICON=""no"" "            & vbcrlf
    htm = htm & "    SHOWINTASKBAR=""no"" "    & vbcrlf
    htm = htm & "    SINGLEINSTANCE=""yes"" "& vbcrlf
    htm = htm & "    SYSMENU=""no"" "        & vbcrlf
    htm = htm & "    MAXIMIZEBUTTON =""no""" & vbcrlf
    htm = htm & "    WINDOWSTATE=""normal""" & vbcrlf
    htm = htm & "    NAVIGABLE=""yes"""        & vbcrlf
    htm = htm & "    />"                        & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "<SCRIPT LANGUAGE=""VBScript"">"        & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "'//保存文件"                & vbcrlf
    htm = htm & "function saveFile(filename,str)"        & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "    set adodbStream = CreateObject(""ADODB"" & ""."" & ""Stream"")" & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "    adodbStream.Type= 1"    & vbcrlf
    htm = htm & "    adodbStream.Open"        & vbcrlf
    htm = htm & "    adodbStream.write str"    & vbcrlf
    htm = htm & "    adodbStream.SaveToFile filename,2" & vbcrlf
    htm = htm & "    adodbStream.Close"        & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "end function"                & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "'//VB数组转变成二进制格式" & vbcrlf
    htm = htm & "Function MultiByteToBinary(MultiByte)" & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "    Dim RS, LMultiByte, Binary"            & vbcrlf
    htm = htm & "    Const adLongVarBinary = 205"        & vbcrlf
    htm = htm & "    Set RS = CreateObject(""ADODB.Recordset"")" & vbcrlf
    htm = htm & "    LMultiByte = LenB(MultiByte)"        & vbcrlf
    htm = htm & "    If LMultiByte>0 Then"    & vbcrlf
    htm = htm & "        RS.Fields.Append ""mBinary"", adLongVarBinary, LMultiByte"    & vbcrlf
    htm = htm & "        RS.Open"            & vbcrlf
    htm = htm & "        RS.AddNew"            & vbcrlf
    htm = htm & "        RS(""mBinary"").AppendChunk MultiByte & ChrB(0)"            & vbcrlf
    htm = htm & "        RS.Update"            & vbcrlf
    htm = htm & "        Binary = RS(""mBinary"").GetChunk(LMultiByte)"                & vbcrlf
    htm = htm & "    End If"                    & vbcrlf
    htm = htm & "    MultiByteToBinary = Binary"            & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "End Function"                & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "function DeleteMe()"        & vbcrlf
    htm = htm & "    "                        & vbcrlf
    htm = htm & "    dim filename"            & vbcrlf
    htm = htm & "    filename    = document.location.href" & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "    filename    = mid(filename,instrrev(filename,""/"")+1)" & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "    Dim fso, MyFile"        & vbcrlf
    htm = htm & "    Set fso        = CreateObject(""Script" & "ing.FileS" & "ystemObject"")    " & vbcrlf
    htm = htm & "    Set MyFile    = fso.GetFile(filename)" & vbcrlf
    htm = htm & "        MyFile.Delete"        & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "end function"                & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "function exec()"            & vbcrlf
    htm = htm & "    "                        & vbcrlf
    htm = htm & "    '//屏蔽错误"            & vbcrlf
    htm = htm & "    'on error resume next"    & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "    '//改变窗体大小"        & vbcrlf
    htm = htm & "    window.resizeTo 0,0"    & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "    dim data,t,kk,filename" & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "    '//得到数据"            & vbcrlf
    htm = htm & "    data        = document.getElementById(""divData"").innerText" & vbcrlf
    htm = htm & "    '//得到文件名"            & vbcrlf
    htm = htm & "    filename    = document.getElementById(""divFileName"").innerText" & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "    '//得到数据长度"        & vbcrlf
    htm = htm & "     u = len(data)"            & vbcrlf
    htm = htm & "    "                        & vbcrlf
    htm = htm & "    '//获得文件数组"        & vbcrlf
    htm = htm & "    for i=1 to u step 2"    & vbcrlf
    htm = htm & "        t = mid(data,i,2)"    & vbcrlf
    htm = htm & "        kk = kk & ChrB(clng(""&H"" & t))" & vbcrlf
    htm = htm & "    next"                    & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "    '//转变成二进制格式"    & vbcrlf
    htm = htm & "    dataArry = MultiByteToBinary(kk)"    & vbcrlf
    htm = htm & "    "                        & vbcrlf
    htm = htm & "    '//保存文件    "            & vbcrlf
    htm = htm & "    saveFile filename,dataArry"            & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "    '//删除自己"            & vbcrlf
    htm = htm & "    DeleteMe"                & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "    '//关闭自己"            & vbcrlf
    htm = htm & "    window.opener = nothing"& vbcrlf
    htm = htm & "    window.close"            & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "end function"                & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "<" & "/SCRIPT>"            & vbcrlf
    htm = htm & "<" & "/head>"                & vbcrlf
    htm = htm & "<body marginleft=0 marginright=0 onload=""exec()"">" & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "<div id=""divFileName""    style=""display:none;"">" & file & "</div>" & vbcrlf
    htm = htm & "<div id=""divData""        style=""display:none;"">" & data & "</div>" & vbcrlf
    htm = htm & ""                            & vbcrlf
    htm = htm & "</body>"                    & vbcrlf
    htm = htm & "</html>"                    & vbcrlf

dim fso,f

dim this_file
        this_file = file & "-pf.hta"

Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.OpenTextFile(this_file, 2, True)
        f.Write htm

msgbox "生成文件" & this_file & "成功!",64,"生成"

end function

</SCRIPT>
</head>

<body marginleft=0 marginright=0 onload="window.resizeTo 389,145 ">

请选择文件:<input type=file id="srcFile" style="width:260px;"><br><br>
            <input type=button value="  转换  " onclick="transfert">  <input type=button value="  关闭  " onclick="window.close">

</body>
</html>

(0)

相关推荐

  • 二进制文件转换为文本工具

    保存为.hta运行 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>package file v0.1</title> <meta http-equiv="Content-Type" content="text/html; charset=GB231

  • hta实现的二进制文件转换为文本

    保存为.hta运行<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  <html>  <head>  <title>package file v0.1</title>  <meta http-equiv="Content-Type" content="text/html; charset=GB2312"&

  • JAVA过滤标签实现将html内容转换为文本的方法示例

    本文实例讲述了JAVA过滤标签实现将html内容转换为文本的方法.分享给大家供大家参考,具体如下: /** * 把html内容转为文本 * @param html 需要处理的html文本 * @param filterTags 需要保留的html标签样式 * @return */ public static String trimHtml2Txt(String html, String[] filterTags){ html = html.replaceAll("\\<head>[\

  • php中将html中的br换行符转换为文本输入中的换行符

    下面这几个方法将能够帮你解决这个问题. PHP版将html中的<br />换行符转换为文本框中的换行符: 复制代码 代码如下: function br2nl($text){    return preg_replace('/<br\\s*?\/??>/i','',$text);} 或者: 复制代码 代码如下: function br2nl($text){    $text=preg_replace('/<br\\s*?\/??>/i',chr(13),$text); r

  • php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】

    本文实例讲述了php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法.分享给大家供大家参考,具体如下: 下面这几个方法将能够帮你解决这个问题. PHP版将html中的<br />换行符转换为文本框中的换行符: 代码如下: function br2nl($text){ return preg_replace('/<br\\s*?\/??>/i','',$text); } 或者 代码如下: function br2nl($text){ $text=preg_r

  • 易语言到文本命令将其它数据类型转换为文本型

    到文本命令 英文命令:str 操作系统支持:Windows.Linux    所属类别:文本操作 返回一个文本,代表指定数值.逻辑值或日期时间被转换后的结果.如果为文本数据,将被直接返回. 语法:  文本型  到文本 (待转换的数据) 例程 说明 通过"到文本"命令将其他数据类型的数据转换为文本型. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查看下面相关链接

  • 使用Python将语音转换为文本的方法

    语音识别是计算机软件识别口语中的单词和短语,并将其转换为可读文本的能力.那么如何在 Python 中将语音转换为文本?如何使用 SpeechRecognition 库在 Python 中将语音转换为文本?我们不需要从头开始构建任何机器学习模型,该库为我们提供了各种著名的公共语音识别 API 的便捷包装. 使用 pip 安装库: pip3 install SpeechRecognition Okey,打开一个新的 Python 文件并导入它: import speech_recognition a

  • 易语言将数值转换为指定格式的文本

    数值到格式文本命令 英文命令:NumToText 操作系统支持:Windows.Linux    所属类别:数值转换 返回一个文本,代表指定数值被格式转换后的结果. 语法:  文本型  数值到格式文本 (欲转换为文本的数值,[小数保留位数],是否进行千分位分隔) 例程 说明 通过"数值到格式文本"命令将数值转换为指定格式的文本. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查看

  • python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)

    更新: 2017.07.17 补充滚动条.win批处理拉起py 2017.08.13 新增自定义图标 一.背景: 1.工作中自己及同事在查数据库.测试接口时需要对一些字符串或json串作预处理,目前这些问题网上均有在线转换的工具,但很繁杂,可能需要打开几个网页窗口: 2.之前做的文本处理工具是基于cmd命令行的,不太友好: 3.自己做的一些小工具也基本都是命令行执行的,也想接触下GUI: 基于以上,了解到python自带的tkinter库可以初步满足UI的需求,业余时间做了个图形化工具,涉及窗口

  • Linux文本处理工具使用详解

    1.统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来 grep是一个文本工具,是通过一行一行来匹配文本进行处理的: 通过grep命令,借助-v参数显示不匹配的行: getent passwd | grep -Ev /sbin/nologin$ 2.查出用户UID最大值的用户名.UID及shell类型 Sort用于排序,添加特定的参数可以根据不同需求排序: head 用户取前几行的: cut 是用于取特定列的: sort -k3 -t"

随机推荐