将 = 替换为 u003d c#

replace = with u003d c#

我有这个 base-64 字符串:

oKQmwbpPwZGxUGeWQNBucVmNy1JVsxM9uNivn6hpkia+15y3yIemkW8GXW423krf8WNk6yebQixZW78EpPMMtzldQbbsaEmd4aUDCwp78ivOuh83nC8fHy2gwkm5NcS7aaGm2KxkUsWa5ouNUa7BUWPZ3F7LXFR/SLjZRTMY8u7hwYEQCmUQk/zNXsLyHHwZQiOjZfXdb1nC4vu1LItxaw==

我必须把它转换成这样:

oKQmwbpPwZGxUGeWQNBucVmNy1JVsxM9uNivn6hpkia+15y3yIemkW8GXW423krf8WNk6yebQixZ\nW78EpPMMtzldQbbsaEmd4aUDCwp78ivOuh83nC8fHy2gwkm5NcS7aaGm2KxkUsWa5ouNUa7BUWPZ\n3F7LXFR/SLjZRTMY8u7hwYEQCmUQk/zNXsLyHHwZQiOjZfXdb1nC4vu1LItxaw\u003d\u003d\n

但是我做不到

这看起来很容易,但我尝试了我所知道的一切,比如这个方法:

HttpUtility.UrlEncode

HttpUtility.HtmlDecode

Regex.Escape

甚至:

.Replace(System.Environment.NewLine, "\n").Replace("=", "u003d")

但其中 none 个有效!!!!

如果我跳过 json 部分并假设您想在原始 base-64 字符串中插入模式“\n”和“\u003d”,那么您需要在 Replace 语句中进行转义,如以下

2个场景的代码

    string t1 = @"oKQmwbpPwZGxUGeWQNBucVmNy1JVsxM9uNivn6hpkia+15y3yIemkW8GXW423krf8WNk6yebQixZ
W78EpPMMtzldQbbsaEmd4aUDCwp78ivOuh83nC8fHy2gwkm5NcS7aaGm2KxkUsWa5ouNUa7BUWPZ
3F7LXFR / SLjZRTMY8u7hwYEQCmUQk / zNXsLyHHwZQiOjZfXdb1nC4vu1LItxaw == ";

    var b1 = t1.Contains(Environment.NewLine);  //return true
    // The line below will insert the pattern "\n" and "\u003d"
    string t2 = t1.Replace(System.Environment.NewLine, "\n").Replace("=", "\u003d");

    // otherwise (Environment.NewLine is \r\n)
    string t3 = t1.Replace(System.Environment.NewLine, "\n").Replace("=", "u003d");
    var b2 = t3.Contains(Environment.NewLine);  //return false