【发布时间】:2014-10-27 14:27:31
【问题描述】:
注意:我不想让问题太长,所以问题标题中的“如何”转换为“.Net 框架中是否有此方法”。
提醒一下:
\n
如果上面是字符串的可打印表示,那么它的内部版本是一个字符,而不是两个,代码是0x0a。
但是我可以写:
string s = "\\n"; // three characters in editor
它转换为 2 个字符 \ 和 n 的内部表示。这不是 0x0a 字符!
但我想实现这一点。 IE。我已经在字符串中有一些数据,我知道这是字符串的可打印表示。我想将它转换为内部表示(C# 编译器一直在做的事情)。
string printable = "\\n";
string internal_ = convert(printable);
internal_ 现在只包含一个字符,代码为 0x0a。
问题:是否有准备好使用 (!) 函数进行此类转换?
【问题讨论】:
-
您可以使用
Encoding.GetBytes方法之一获取字节。 -
@PatrickHofman,它为您提供字符串的字节,但它不解释字符串。这个
convert可以在字符串上多次调用,并且每次调用都会缩短每个元字符。所以简而言之,它做了一些不同的事情。 -
也许你需要让你的问题更清楚,因为我认为你要求一种方法来获取
0x0a,而不是\\n。 -
所以要明确一点:您正在寻找一种将字符串
@"\n"转换为字符0x0a的方法? -
为我的项目制作本地化系统时,我使用简单的
Replace("\\n", "\xd\xa")转义/取消转义新行符号(用于转义对面)。通过使用相同的原理,您可以制作更方便的东西。