更换UNI code转义序列字符串字符串、序列、UNI、code

2023-09-02 21:39:00 作者:墨染傾絾

我们拥有具有以下文本一个文本文件

We have one text file which has a following text

"u5b89u5fbdu5b5fu5143"

当我们在阅读C#中的文件CON污点.NET这表明像

When we read a file con taint in c# .net it shows like

"\u5b89\u5fbd\u5b5f\u5143"

我们的德codeR方法是

Our Decoder Method is

public string Decoder(string value)
        {
            Encoding enc = new UTF8Encoding();
            byte[] bytes = enc.GetBytes(value);
           return enc.GetString(bytes);
        }

当我经过艰苦code值

When I pass hard Code value

string Output=Decoder("u5b89u5fbdu5b5fu5143");

它工作得很好,但是当我们使用变量值那个时候它不能正常工作。

it works well but when we use variable value that time it is not working.

当我们使用字符串我们从文本文件中获取

When we use the string what we get from text file

  value=(text file containt)
  string Output=Decoder(value);

这将返回错误的输出。

It returns wrong Output.

请帮我解决这个问题。

推荐答案

您可以定期EX pression来解析文件:

You could regular expression to parse the file:

private static Regex _regex = new Regex(@"\u(?<Value>[a-zA-Z0-9]{4})", RegexOptions.Compiled);
public string Decoder(string value)
{
    return _regex.Replace(
        value,
        m => ((char)int.Parse(m.Groups["Value"].Value, NumberStyles.HexNumber)).ToString()
    );
}

然后:

string data = Decoder(File.ReadAllText("test.txt"));