ASP.NET Web应用程序正在从文本框中删除不可打印的字符

时间:2013-01-11 15:21:27

标签: asp.net vb.net web-applications barcode-scanner

我在ASP.NET中编写一个Web应用程序,它使用4.0 .NET Framework接受来自2D条形码阅读器的字符串。我正在开发Windows 7 64位盒子。 2D条形码中必须保留不可打印的字符,特别是ascii代码29(组分隔符),30(记录分隔符)和4(传输结束)。这些角色正被剥夺。

当我将条形码扫描到.NET Windows应用程序中时,不可打印的字符会按预期进行。

当我从Windows应用程序复制字符串并将其粘贴到ASP.NET网页文本框中时,将再次删除不可打印的字符。

如何让Web应用程序接受不可打印的字符?

2 个答案:

答案 0 :(得分:0)

如果您有特殊字符,例如'<'和'>'您可能希望对字符串进行编码以显示这些字符。

所以你必须使用

HttpUtility.HtmlEncode(myString);

MSDN - http://msdn.microsoft.com/en-us/library/73z22y6h.aspx

答案 1 :(得分:0)

我有类似的问题。我必须做的是将字符串输入文本框时,使用“< =”而不是单个字符版本。然后在后端,我用单个字符符号的Unicode值替换了这些实例,并且当它存储在sql数据库中时(确保字段是nvarchar,btw)使用httputility.decode。这将值正确地输入表中,然后显示正确(作为一个字符。)

如果您的复制和粘贴是自动化的,您可能必须包含一个encode,然后是string.replace,以将Unicode值更改为两个字符表示。