找回密码
 加入
搜索
查看: 1229|回复: 6

请教高人转换代码!!!

[复制链接]
发表于 2009-8-13 11:57:08 | 显示全部楼层 |阅读模式
本帖最后由 论坛管理员 于 2009-8-13 20:50 编辑

<html>
<body>
<script type="text/javascript">
document.write(encodeURIComponent("你好"))
</script>
</body>
</html>

输出结果为:%E4%BD%A0%E5%A5%BD

请教高人弄个 函数、UDF 出来 !  谢谢!
发表于 2009-8-13 14:58:05 | 显示全部楼层
这个是URL转码,php有个函数叫urlencode可以实现
AU3的还没有,不知道有什么规则
发表于 2009-8-13 16:33:20 | 显示全部楼层
<script language="JavaScript" tpye="text/javascript">
    var name; // name 是变量
   name=prompt("输入",""); // prompt()方法
   alert(encodeURIComponent(name));
</script>


生成一个页面如上代码,再用autoit抓窗口,输入和获取输出吧。
发表于 2009-8-13 17:15:48 | 显示全部楼层

MsgBox(0,0,_StringToUTF8("你好"))

Func _StringToUTF8($sString)

$buffer = StringToBinary($sString, 4)
$buffer = StringRegExpReplace($buffer ,"\w{2}","\0%")
$buffer =  StringTrimRight(StringReplace($buffer, "0x", ""),1)
Return $buffer

EndFunc

评分

参与人数 2金钱 +5 贡献 +6 收起 理由
lynfr8 + 1
afan + 5 + 5 难遇高人...

查看全部评分

 楼主| 发表于 2009-8-13 18:19:30 | 显示全部楼层
真正的管理员一出马,果然非同凡响!
就是多了点小尾巴,不知道是否版本问题?

%E4%BD%A0%E5%A5%BD
%E4%BD%A0%E5%A5%BD%E5%89%85%00
谢谢!
发表于 2009-8-13 18:53:06 | 显示全部楼层
我这正常~ 输出结果为:%E4%BD%A0%E5%A5%BD
发表于 2009-8-15 16:00:30 | 显示全部楼层
无意中从老外的代码里面看到的

Func GetURI($url)
    $uri = StringMid($url, 1, StringInStr($url, "://")) & "//"
    $turl = StringMid($url, StringLen($uri) + 1)
    If StringInStr($turl, "?") Then
        $temp = StringSplit($turl, "?")
        $turl = $temp[1]
        $temp = StringSplit($turl, "/")
        $uri = $uri & $temp[1] & "/"
        For $i = 2 To UBound($temp) - 1 Step 1
            If StringInStr($temp[$i], ".") Or Not StringLen($temp[$i]) Then ExitLoop
            $uri = $uri & $temp[$i] & "/"
        Next
        If Not InetGetSize(StringLeft($uri, StringLen($uri) - 1)) Then
            $uri = StringMid($url, 1, StringInStr($url, "://")) & "//"
            $temp = StringSplit($turl, "?")
            $turl = $temp[1]
            $temp = StringSplit($turl, "/")
            $uri = $uri & $temp[1] & "/"
            For $i = 2 To UBound($temp) - 2 Step 1
                If StringInStr($temp[$i], ".") Or Not StringLen($temp[$i]) Then ExitLoop
                $uri = $uri & $temp[$i] & "/"
            Next
        EndIf
    Else
        $temp = StringSplit($turl, "/")
        $uri = $uri & $temp[1] & "/"
        For $i = 2 To UBound($temp) - 1 Step 1
            If StringInStr($temp[$i], ".") Or Not StringLen($temp[$i]) Then ExitLoop
            $uri = $uri & $temp[$i] & "/"
        Next
    EndIf
   
    Return $uri
EndFunc  ;==>GetURI
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-2 17:52 , Processed in 0.076746 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表