我有一个像"Akzo_Nobel_N@46@V@46@"
.
原始字符串是"Akzo Nobel N.V."
我需要解码它。我试过这样
public static string Decode(string query)
{
string dSData = HttpUtility.UrlDecode(query.ToString());
return dSData;
}
我无法将其解码为原始字符串。请帮我解码。
public static String Decode(String query) {
return query.Replace("_", " ").Replace("@46@", ".");
}
更多的输入将提供更好的解码例程。
如果您要处理的只是空格和句号的“编码”版本,那么只需调用 string.replace 并将“_”替换为“”,将“@46@”替换为“”。http://msdn.microsoft.com/en-us/library/fk49wtc1.aspx。如果有可能您会遇到其他 ascii“编码”,那么您需要使用正确的方法以正确的方式解码(可能来自编码它的同一个类/库)。
看起来格式是:
@xx@ 其中 xx 是 ASCII 字符的十进制数(所以 . 是 46),空格被下划线替换。
看起来像是自制的 URL 编码机制,但可能是错误的。
所以你想要的是一个正则表达式,它查找类似的东西@[0-9]{1,3}@
并将其替换为 ascii 代码表示的实际字符。
除了 _ 用于空格之外,可能还有其他直接替换,但我可以告诉你的就这么多。