То, что вы опубликовали, не является действительным HTTP. Таким образом, конечно, HttpUtility.UrlDecode()
не будет работать. Но независимо от этого, вы можете превратить это обратно в обычный текст, например так:
string input = @"http\x3a\x2f\x2fjs.wlxrs.com\x2fjt6xQREgnzkhGufPqwcJjg\x2fempty.htm";
string output = Regex.Replace(input, @"\\x([0-9a-f][0-9a-f])",
m => ((char) int.Parse(m.Groups[1].Value, NumberStyles.HexNumber)).ToString());
Но обратите внимание, что это предполагает, что кодировка - Latin-1, а не UTF-8. Введенные вами данные неубедительны в этом отношении. Если вам нужен UTF-8 для работы, вам нужен немного более длинный маршрут; вам придется преобразовать строку в байты и заменить escape-последовательности соответствующими байтами в процессе (вероятно, требуется цикл while), а затем использовать Encoding.UTF8.GetString()
в результирующем байтовом массиве.