Encode\escape .NET 字符串
Encode\escape string for .NET
我有一串什锦白-space:例如
"\t\r "
我需要在错误消息中显示它,但只显示白色-space 没有帮助。
有没有编码字符串显示的方法?
如果您不特别需要 C# 转义约定,您可以 URL 对字符串进行编码。这将为非 printable 和空白字符提供可见编码。有关 table 比较各种编码选项的输出,请参阅
如果你确实需要 C# 转义约定,你可以做一些简单的事情
string output = original.Replace("\t", "\t").Replace("\r", "\r); // etc
如果这是为了偶尔输出错误信息,那么每次调用.Replace 时创建一个新字符串的效率低下就无所谓了。如果确实重要,您可以创建一个方法/扩展方法,循环遍历输入字符串中的每个字符,并根据需要输出原始字符或转义版本(例如,使用 StringBuilder 构建输出字符串)。
更新
这是一个完全符合您要求的扩展方法:
我有一串什锦白-space:例如
"\t\r "
我需要在错误消息中显示它,但只显示白色-space 没有帮助。
有没有编码字符串显示的方法?
如果您不特别需要 C# 转义约定,您可以 URL 对字符串进行编码。这将为非 printable 和空白字符提供可见编码。有关 table 比较各种编码选项的输出,请参阅
如果你确实需要 C# 转义约定,你可以做一些简单的事情
string output = original.Replace("\t", "\t").Replace("\r", "\r); // etc
如果这是为了偶尔输出错误信息,那么每次调用.Replace 时创建一个新字符串的效率低下就无所谓了。如果确实重要,您可以创建一个方法/扩展方法,循环遍历输入字符串中的每个字符,并根据需要输出原始字符或转义版本(例如,使用 StringBuilder 构建输出字符串)。
更新
这是一个完全符合您要求的扩展方法: