ed2k://|file|%E8%94%A1%E6%AD%A3%E5%AE%89%28Chae.Jung.Ahn%29.-.%5B%E6%97%A0%E6%83%85%5D.%5BKMTV.Show%26%2333%3BMusicTank%5D.mpg|208605188|290AA2C3CF4E1325628E2D022DACC72B|h=IG35HP5RSPGD3O4XXEMAOMOD3YTHCNXU|/
其中:
%E8%94%A1%E6%AD%A3%E5%AE%89%28Chae.Jung.Ahn%29.-.%5B%E6%97%A0%E6%83%85%5D.%5BKMTV.Show%26%2333%3BMusicTank%5D.mpg
转换为:
蔡正安(Chae.Jung.Ahn).-.[无情].[KMTV.Show!MusicTank].mpg有这样的工具吗,或给个代码,多谢!
其中:
%E8%94%A1%E6%AD%A3%E5%AE%89%28Chae.Jung.Ahn%29.-.%5B%E6%97%A0%E6%83%85%5D.%5BKMTV.Show%26%2333%3BMusicTank%5D.mpg
转换为:
蔡正安(Chae.Jung.Ahn).-.[无情].[KMTV.Show!MusicTank].mpg有这样的工具吗,或给个代码,多谢!
我找到了!
<HTML>
<HEAD>
<TITLE>eMule & eDonkey Link to Discuz! 4.0.0 EMPUT - Converter</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content=Tele name=Author>
<STYLE>TEXTAREA {BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; FONT-SIZE: 11px; BORDER-LEFT: black 1px solid; WIDTH: 700px; BORDER-BOTTOM: black 1px solid; FONT-FAMILY: Courier New,宋体,SimSun; BACKGROUND-COLOR: #fafad2}
BODY {FONT: 12px Tahoma,宋体,SimSun}
TD {FONT: 12px Tahoma,宋体,SimSun}
.Title {FONT: bold 15px Tahoma,宋体,SimSun}
INPUT {BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #ffdead}
SELECT {BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; FONT-FAMILY: Tahoma}
</STYLE>
<SCRIPT language=JavaScript>
<!--
function ConvUnicodeEd2kWOEsc(ed2klnk) {
return unescape(decodeURIComponent(ed2klnk));
}function Convert() {
var originStr = document.forms[0].Hrefs.value;
var objectStr="", subStr;
originStr = originStr.replace(/\.\[VeryCD\.com\]/g, "");
originStr = originStr.replace(/\[/g, "%5B");
originStr = originStr.replace(/\]/g, "%5D");
originStr = originStr.replace(/\ /g, "%20");
LineEnd = originStr.indexOf("\n")
while(LineEnd > 0) {
subStr = originStr.substring(0,LineEnd);
if (subStr.length>=3)
objectStr = objectStr + Href2VBBUrl(subStr) + "\n";
originStr = originStr.substring(LineEnd+1,originStr.length);
LineEnd = originStr.indexOf("\n");
}
objectStr = objectStr + Href2VBBUrl(originStr);
if (objectStr.length>0)
objectStr= "[emput]"+objectStr+"[/emput]"; document.forms[0].VBBURLs.value = objectStr;
}function Href2VBBUrl(origin) {
if(origin.length >6) {
var HrefStart = origin.indexOf("ed2k://");
var i = 0;
var HrefEnd = origin.lastIndexOf("\|\/")+2; if(HrefEnd == 1) {
HrefEnd=0;
while(i<5){
HrefEnd = origin.indexOf("\|",HrefEnd+1);
i++;
}
i=0;
HrefEnd++;
} var Href = origin.substring(HrefStart,HrefEnd);
Href=ConvUnicodeEd2kWOEsc(Href);
return(Href);
}
else
return("");
}function ClipBoard() {
var tempval=eval("document.forms[0].VBBURLs")
tempval.focus()
tempval.select()
therange=tempval.createTextRange()
therange.execCommand("Copy")
}function ClipBoardpaste() {
var tempval=eval("document.forms[0].Hrefs")
tempval.focus()
tempval.select()
therange=tempval.createTextRange()
therange.execCommand("Paste")
}//-->
</SCRIPT>
<BODY>
<CENTER>
<P class=Title>eMule 及 eDonkey 链接至 Discuz! 4.0.0 EMPUT 代码转换程序</P>
<TABLE border=0><FORM><TR><TD>
<DIV>EDonkey 及 eMule 链接: <INPUT onclick=ClipBoardpaste(); type=button value=从剪贴板粘贴>
<INPUT onclick=Convert(); type=button value=----转换---->
<INPUT onclick=ClipBoard(); type=button value=复制到剪贴板>
<INPUT type=reset value=清除></DIV>
<DIV><TEXTAREA name=Hrefs rows=15 cols=300></TEXTAREA><BR>
Discuz! 4.0.0 EMPUT 代码:<BR>
<TEXTAREA name=VBBURLs rows=15 cols=300></TEXTAREA></DIV>
</TD></TR></FORM></TABLE>
<P>作者:Tele 2002-4-16 修改:zhangshaox for <A href="http://www.edonkey2000.cn/" target="_blank">www.edonkey2000.cn</A> 2005-07-21</P></CENTER>
</BODY></HTML>
VBA.MsgBox EncodeString("女")
VBA.MsgBox DecodeString(EncodeString("女"))
End Sub
Public Function DecodeString(StringX As String) As String
Dim i As Long
Dim sByte() As Byte
Do Until i > VBA.Len(VBA.Trim(StringX)) ' - 1
i = i + 1
If VBA.Mid(StringX, i, 1) <> "%" Then
DecodeString = DecodeString & VBA.Mid(StringX, i, 1)
Else
i = i + 1
ReDim sByte(0) As Byte
sByte(0) = VBA.Val("&H" & VBA.Mid(StringX, i, 2))
If Val("&H" & VBA.Mid(StringX, i, 2)) > 128 Then
i = i + 3
ReDim Preserve sByte(1) As Byte
sByte(1) = VBA.Val("&H" & VBA.Mid(StringX, i, 2))
DecodeString = DecodeString & VBA.StrConv(sByte, vbUnicode)
Else
DecodeString = DecodeString & VBA.StrConv(sByte, vbUnicode)
End If
i = i + 1
End If
Loop
End Function
Public Function EncodeString(StringX As String) As String
Dim i As Long
Dim j As Long
Dim sByte() As Byte
For i = 0 To VBA.Len(VBA.Trim(StringX)) - 1
If (VBA.Asc(VBA.Mid(StringX, i + 1, 1)) >= VBA.Asc("0") And VBA.Asc(VBA.Mid(StringX, i + 1, 1)) <= VBA.Asc("9")) Or (VBA.Asc(VBA.Mid(StringX, i + 1, 1)) >= VBA.Asc("@") And VBA.Asc(VBA.Mid(StringX, i + 1, 1)) <= VBA.Asc("Z")) Or (Asc(VBA.Mid(StringX, i + 1, 1)) >= VBA.Asc("a") And VBA.Asc(VBA.Mid(StringX, i + 1, 1)) <= VBA.Asc("z")) Then
EncodeString = EncodeString & VBA.Mid(StringX, i + 1, 1)
Else
sByte = VBA.StrConv(VBA.Mid(StringX, i + 1, 1), vbFromUnicode)
For j = LBound(sByte) To UBound(sByte)
EncodeString = EncodeString & "%" & VBA.Hex(sByte(j))
Next j
End If
Next i
End Function
以上代码保存于: SourceCode Explorer(源代码数据库)
复制时间: 2007-12-23 13:22:00
软件版本: 1.0.882
软件作者: Shawls
E-Mail: [email protected]
QQ: 9181729
这个是VB6的代码
'----------------------URL编码---------------------------------------
Private Function URLEncode(ByVal S As String) As String
Dim B() As Byte, I As Long, J As Long, S1 As String, S2 As String
For I = 1 To Len(S)
S1 = Mid$(S, I, 1)
If Asc(S1) > 0 Then
URLEncode = URLEncode & S1
Else
B = StrConv(S1, vbFromUnicode)
For J = 0 To 1
S2 = Hex(B(J))
If Len(S2) < 2 Then S2 = "0" & S2
URLEncode = URLEncode & "%" & S2
Next
End If
Next
End Function
'===================URL解码===================================
Private Function Zi(ByVal S As String) As String
Dim B(1) As Byte, I As Long, S1 As String * 1
For I = 1 To Len(S)
S1 = Mid$(S, I, 1)
If S1 = "%" Then
B(0) = Val("&H" & Mid$(S, I + 1, 2))
B(1) = Val("&H" & Mid$(S, I + 4, 2))
Zi = Zi & StrConv(B, vbUnicode)
I = I + 5
Else
Zi = Zi & S1
End If
Next
End Function
'输入参数:v中英文混合字符串,f是否对ASCII字符编码
'返回值:编码后的ASC字符串
Public Function URLEncoding(v As String, f As Boolean)
Dim s As String, t As String, i As Integer, j As Long, h As Long, l As Long, x As Integer
s = "": x = Len(v)
For i = 1 To x
t = Mid(v, i, 1): j = Asc(t)
If j > 0 Then
If f Then
s = s & "%" & Right("00" & Hex(Asc(t)), 2)
Else
s = s & t
End If
Else
If j < 0 Then j = j + &H10000
h = (j And &HFF00) \ &HFF
l = j And &HFF
s = s & "%" & Hex(h) & "%" & Hex(l)
End If
Next
URLEncoding = s
End Function
'----------------------------------------------------------------'
'功能描述:URL解码码函数
'输入参数:vURL编码的字符串
'返回值:解码后的字符串
Public Function URLDecoding(sIn As String) As String
Dim s As String, i As Integer, l As Integer, c As String, t As Long, n As Integer
s = "": l = Len(sIn)
For i = 1 To l
c = Mid(sIn, i, 1)
If c <> "%" Then
s = s & c
Else
c = Mid(sIn, i + 1, 2): i = i + 2: t = Val("&H" & c)
If t < &H80 Then
s = s & Chr(t)
Else
c = Mid(sIn, i + 1, 3)
If Left(c, 1) <> "%" Then
URLDecoding = s
Exit Function
Else
c = Right(c, 2): n = Val("&H" & c)
t = t * 256 + n - 65536
s = s & Chr(t): i = i + 3
End If
End If
End If
Next
URLDecoding = s
End Function