在C#中解码字符串

时间:2012-09-06 08:26:26

标签: c# decode urldecode

我有一个像"Akzo_Nobel_N@46@V@46@"这样的字符串。

原始字符串为"Akzo Nobel N.V."

我需要解码它。我试过这样的

public static string Decode(string query)
{
    string dSData = HttpUtility.UrlDecode(query.ToString());
    return dSData;
}

我无法将其解码为原始字符串。请帮我解码。

3 个答案:

答案 0 :(得分:1)

public static String Decode(String query) {
    return query.Replace("_", " ").Replace("@46@", ".");
}

更多输入将提供更好的解码程序。

答案 1 :(得分:0)

如果你要处理的只是'编码'版本的空格和句号,那么只需调用一个string.replace并将'_'替换为''并将'@ 46 @'替换为“” 。 http://msdn.microsoft.com/en-us/library/fk49wtc1.aspx。如果有可能你会遇到其他ascii'编码',那么你需要使用正确的方法(可能来自编码它的同一个类/库)以正确的方式进行解码。

答案 2 :(得分:-1)

看起来格式为:

@ xx @其中xx是ASCII字符的十进制数(所以a。是46),空格用下划线代替。

看起来像是一个自制的URL编码机制,但可能是错误的。

所以你想要的是一个正则表达式,它寻找像@[0-9]{1,3}@这样的东西,并用ascii代码表示的实际字符替换它。

对于空格,除了_之外可能还有其他直接替换,但这就像我告诉你的那样。