本帖最后由 afan 于 2009-11-23 22:57 编辑
一会给你写个udf,以前也弄了个,找不到了
OK,写好了~$str = AnsiURLEncode("百度")
MsgBox(0, 0, $str)
ShellExecute('http://www.baidu.com/s?wd=' & $str)
Func AnsiURLEncode($str)
Local $astr, $i, $s2d, $sS = StringSplit($str, '')
For $i = 1 To UBound($sS) - 1
If StringRegExp($sS[$i], '[^\x00-\xff]') Then
$s2d = StringToBinary($sS[$i] & ' ')
$astr &= '%' & StringMid($s2d, 3, 2) & '%' & StringMid($s2d, 5, 2)
ElseIf StringRegExp($sS[$i], '[^\w]') Then
$s2d = StringToBinary($sS[$i])
$astr &= '%' & StringMid($s2d, 3, 2)
Else
$astr &= $sS[$i]
EndIf
Next
;$astr = StringReplace($astr, '%20', '+') ;注:如果空格的编码想换成'+'号,可以取消注释此行
Return $astr
EndFunc ;==>AnsiURLEncode
这个只对字母、数字、下划线以外的字符编码,比较合理~ 呵呵
为了方便搜索已将此代码单独整理到UDF区: http://www.autoitx.com/forum.php?mod=viewthread&tid=11042 |