网址出现E8%94%A1%E6%AD%A3%E5这样的编码,如何转中文?

oumiga111 2007-12-22 08:26:30
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

有这样的工具吗,或给个代码,多谢!
...全文
10785 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
只爱浓茶 2008-07-31
  • 打赏
  • 举报
回复
mark~~~~
UltraBejing 2008-04-30
  • 打赏
  • 举报
回复
lz要干嘛?
seven7vip 2007-12-30
  • 打赏
  • 举报
回复
不用这么麻烦的~
这个是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
zzyong00 2007-12-30
  • 打赏
  • 举报
回复
'功能描述: URL编码函数
'输入参数: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
oumiga111 2007-12-23
  • 打赏
  • 举报
回复
谢2楼兄弟
我找到了!
<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>
shawls 2007-12-23
  • 打赏
  • 举报
回复
[名称] URL解码(Web页面提交)

[数据来源] playyuer

[源代码内容]

Private Sub Command1_Click()
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: ShawFile@163.com
QQ: 9181729
dccrazyboy 2007-12-22
  • 打赏
  • 举报
回复
在网上找找,好像有什么电驴地址转换工具的小软件,用那个应该可以,具体算法我就不知道了。
# 1 项目搭建 - [1.1.1 SpringBoot 项目搭建](http://www.mkeeper.club/2018/06/29/SpringBoot%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B1-1-1%20%E9%A1%B9%E7%9B%AE%E6%90%AD%E5%BB%BA/) - [1.1.2 常用配置介绍](http://www.mkeeper.club/2018/07/02/SpringBoot%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B1-1-2%20%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%8B%E7%BB%8D/) ## 2 SpringBoot web开发 - 2.1.1 [搭建RESTful风格web服务](http://www.mkeeper.club/2018/07/03/SpringBoot%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B2-1-1%20%E6%90%AD%E5%BB%BARESTful%E9%A3%8E%E6%A0%BCWeb%E6%9C%8D%E5%8A%A1/) - 2.1.2 [Controller规范及响应规范](http://www.mkeeper.club/2018/07/04/SpringBoot%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B2-1-2%20Controller%E8%A7%84%E8%8C%83%E5%8F%8A%E5%93%8D%E5%BA%94%E8%A7%84%E8%8C%83/) - 2.1.3 [异常处理规范](http://www.mkeeper.club/2018/07/07/SpringBoot%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B2-1-3%20%E5%BC%82%E5%B8%B8%E5%A4%84%E7%90%86%E8%A7%84%E8%8C%83/) - 2.1.4 [日志规范-基础配置详解](http://www.mkeeper.club/2018/07/09/SpringBoot%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B2-1-4%20%E6%97%A5%E5%BF%97%E8%A7%84%E8%8C%83-%E5%9F%BA%E7%A1%80%E9%85%8D%E7%BD%AE%E8%AF%A6%E8%A7%A3/) - 2.1.5 [日志规范-logback配置详解](http://www.mkeeper.club/2018/07/09/SpringBoot%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B2-1-5%20%E6%97%A5%E5%BF%97%E8%A7%84%E8%8C%83-logback%E9%85%8D%E7%BD%AE%E8%AF%A6%E8%A7%A3/) - 2.1.6 [日志规范-使用AOP统一处理Web日志](http://www.mkeeper.club/2018/07/15/SpringBoot%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B2-1-6%20%E6%97%A5%E5%BF%97%E8%A7%84%E8%8C%83-%E4%BD%BF%E7%94%A8AOP%E7%BB%9F%E4%B8%80%E5%A4%84%E7%90%86Web%E6%97%A5%E5%BF%97/) - 2.1.7 [数据验证-基础数据验证](http://www.mkeeper.club/2018/07/24/SpringBoot%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B2-1-7%20%E6%95%B0%E6%8D%AE%E9%AA%8C%E8%AF%81-%E5%9F%BA%E7%A1%80%E6%95%B0%E6%8D%AE%E9%AA%8C%E8%AF%81/) - 2.1.8 [数据验证-自定义日期格式验证](http: ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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