0

我有一个像"Akzo_Nobel_N@46@V@46@".

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

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

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

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

4

3 回答 3

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

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

于 2012-09-06T08:32:19.700 回答
0

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

于 2012-09-06T08:31:10.773 回答
-1

看起来格式是:

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

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

所以你想要的是一个正则表达式,它查找类似的东西@[0-9]{1,3}@并将其替换为 ascii 代码表示的实际字符。

除了 _ 用于空格之外,可能还有其他直接替换,但我可以告诉你的就这么多。

于 2012-09-06T08:37:10.057 回答