如何把下面的Java代码转换成C#,谢谢

qiuqingpo 2013-05-30 10:54:31

public static String unescape(String src)
{
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length());
int lastPos = 0,pos = 0;
char ch;
while(lastPos < src.length())
{
pos = src.indexOf("%",lastPos);
if(pos == lastPos)
{
if(src.charAt(pos + 1) == 'u')
{
ch = (char) Integer.parseInt(src.substring(pos + 2,pos + 6),16);
tmp.append(ch);
lastPos = pos + 6;
}
else
{
ch = (char) Integer.parseInt(src.substring(pos + 1,pos + 3),16);
tmp.
append(ch);
lastPos = pos + 3;
}
}
else
{
if(pos == -1)
{
tmp.append(src.substring(lastPos));
lastPos = src.length();
}
else
{
tmp.append(src.substring(lastPos,pos));
lastPos = pos;
}
}
}
return tmp.toString();
}
public static String escape(String src)
{
int i;
char j;
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length() * 6);
for(i = 0;i < src.length();i++)
{
j = src.charAt(i);
if(Character.isDigit(j) || Character.isLowerCase(j) || Character.isUpperCase(j))
{
tmp.append(j);
}
else if(j < 256)
{
tmp.append("%");
if(j < 16)
{
tmp.append("0");
}
tmp.append(Integer.toString(j,16));
}
else
{
tmp.append("%u");
tmp.append(Integer.toString(j,16));
}
}
return tmp.toString();
}

...全文
127 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
兔子丶哥 2013-05-30
  • 打赏
  • 举报
回复
引用 2 楼 sjyforg 的回复:
The Java Language Conversion Assistant (JLCA)
1
md5e 2013-05-30
  • 打赏
  • 举报
回复
Server.UrlDecode(); Server.UrlEncode();
md5e 2013-05-30
  • 打赏
  • 举报
回复
C#有现成的 Server.UrlEncode
黑暗的救赎 2013-05-30
  • 打赏
  • 举报
回复
这么多代码,体力活啊!

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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