删除字符串转义码

时间:2010-11-23 16:25:33

标签: c# .net

我的程序输出"Wzyryrff}av{v5~fvzu: Bb``igbuz~+\177Ql\027}C5]{H5LqL{"之类的字符串,问题是转义码(\\\而不是\\177而不是字符等。)

我需要一种方法来取消所有转义码的字符串(主要是\\\和八进制\027类型)。有什么东西已经做到了吗?

由于

参考:http://www.tailrecursive.org/postscript/escapes.html

字符串是一个加密值,我需要对它们进行解密,但由于字符串被转义,我得到了错误的值

5 个答案:

答案 0 :(得分:3)

听起来更像是编码,而不仅仅是转义(如果\177真的是一个角色)。所以,尝试解码它。

答案 1 :(得分:2)

没有内置任何东西来完成这种逃避。

您需要自己解析并替换这些序列。

使用RegEx(\xxx)可以找到\\\d{3}八进制转义符,迭代匹配将允许您解析八进制部分并为其获取替换字符(然后进行简单替换)会做)。

其他似乎很容易替换为string.Replace

答案 2 :(得分:0)

如果字符串已加密,那么您可能需要将其视为二进制而不是文本。您需要知道它是如何编码的并相应地对其进行解码。您可以将其视为文本这一事实是偶然的。

答案 3 :(得分:-1)

如果要替换特定内容,可以使用.Replace()方法。

即。 myInput.Replace(“\\”,@“\”)

我不确定为什么“\”对你来说是一个问题。如果它实际上是一个转义码,那么它应该没问题,因为\代表字符串中的\。

您需要“删除”转义码的原因是什么?

答案 4 :(得分:-3)

在@ ie之前添加字符串。 @“george \'s”或源代码中的例子。

来源:Hidden Features of C#?