文本框中换行、空格的转换

      C#中,当我们在文本框(TextBox)中输入数据时,我们即可换行(多行文本框MultiLine),也可以打出空格。但是,当我们把文本框中的数据读出,用另一个控件显示 或者直接用Response.Write显示时却无法按我们预期的效果显示换行与空格:换行以及空格(多个空格也一样)都以一个空格显示。因此我们需要一种能转换空格换行的方法:
      C#中换行用" \r\t "表示,\r、\n的Unicode码分别为13、10;表示空格的Unicode码为32。
1、换行符 转换:(有以下三种)
(1) string newline=TextBox1.Text.Replace("\x0D\x0A", "<br />"); 
(2) string newline=TextBox1.Text.Replace("\r\n", "<br />"); 
(3) string newline = TextBox1.Text.Replace(Char.ConvertFromUtf32(13)+Char.ConvertFromUtf32(10), "<br />");
//<br />是本人习惯,也可以写成<br>

2、空格 转换:(2种)
(1) string newline=TextBox1.Text.Replace("\x20", "&nbsp;"); 
(2) string newline=TextBox1.Text.Replace(Char.ConvertFromUtf32(32), "&nbsp;");

如果您跟我有一样的习惯,喜欢用<br />的话:如果你换行、空格都要转换,务请先转换空格,再转换换行,否则无法换行显示。个人认为:空格转换把换行转换成的<br />中的空格也转换了。
如:
Label1.Text = (TextBox1.Text.Replace( Char.ConvertFromUtf32(32), "&nbsp;")).Replace(Char.ConvertFromUtf32(13) + Char.ConvertFromUtf32(10), "<br />");
或者
Label1.Text = (TextBox1.Text.Replace(Char.ConvertFromUtf32(13) + Char.ConvertFromUtf32(10), "<br>").Replace( Char.ConvertFromUtf32(32), "&nbsp;"));