Tag: 转义

如何在.NET中正确转义文档名称?

我们在我们的Web服务器(人们上传它们)上存储了一堆奇怪的文档名称,这些文档名称包含空格,符号等各种字符。当我们生成这些文档的链接时,我们需要将它们转义,以便服务器可以通过以下方式查找文件:它在数据库中的原始名称。 但是,在所有情况下,内置的.NET转义函数都不会正常工作。 拿文件Hello#There.docx : UrlEncode将正确处理此问题: HttpUtility.UrlEncode(“Hello#There”); “Hello%23There” 但是, UrlEncode 无法正确处理Hello There.docx : HttpUtility.UrlEncode(“Hello There.docx”); “Hello+There.docx” +符号仅对URL参数有效,而不对文档名称有效。 有趣的是,这实际上适用于Visual Studio测试Web服务器,但不适用于IIS。 UrlPathEncode函数适用于空格: HttpUtility.UrlPathEncode(“Hello There.docx”); “Hello%20There.docx” 但是,它不会逃避其他字符,如#字符: HttpUtility.UrlPathEncode(“Hello#There.docx”); “Hello#There.docx” 此链接无效,因为#被解释为URL哈希,甚至从未到达服务器。 是否有.NET实用程序方法来转义文档名称中的所有非字母数字字符,或者我是否必须自己编写?

不能在XAML绑定的StringFormat中使用撇号?

我正在尝试使用StringFormat在一个绑定到TextBlock的值周围插入叛逆(撇号?): 但是,我得到一个编译错误: MarkupExtension中的名称和值不能包含引号。 MarkupExtension参数’MyValue,StringFormat =’值为'{0}”}’无效。 我确实注意到它确实适用于引号: 这是StringFormat的错误吗?

Json.Parse转义换行符

我有一个页面,我试图使用JSON.parse解析json字符串 ‘[{“Name”:”Eggs”,”Complete”:false,”Notes”:”Notes here\n”},{“Name”:”Sugar”,”Complete”:false,”Notes”:null}]’ 但是下面的代码给出了错误”Uncaught SyntaxError: Unexpected token” var groceriesJson = JSON.parse(jsonString); 然后我开始知道它是因为在json字符串中的\n 。 所以我尝试了这个解决方案 。 但没有运气。 仍然是同样的错误”Uncaught SyntaxError: Unexpected token” function escapeSpecialChars(jsonString) { return jsonString.replace(/\\n/g, “\\n”) .replace(/\\’/g, “\\'”) .replace(/\\”/g, ‘\\”‘) .replace(/\\&/g, “\\&”) .replace(/\\r/g, “\\r”) .replace(/\\t/g, “\\t”) .replace(/\\b/g, “\\b”) .replace(/\\f/g, “\\f”); } var groceriesJson = JSON.parse(escapeSpecialChars(jsonString)); 有任何想法吗? 谢谢 —更新—- 我不是手动创建这个字符串,我有c#代码从c#对象创建json字符串 var jss = new System.Web.Script.Serialization.JavaScriptSerializer(); var […]

仅在XML中替换属性中的双引号:C#

我有这个字符串,它将成为XML / XML节点的一部分: string a = “”; 我只需要转义属性引号,以便它成为 a= “Node a=\”a&qout;[&qout;\”/>”; 我正在使用C#,.NET 2.0。

Label属性接受C#中的转义序列

可能重复: 在Windows窗体中的文本标签中输入“&”符号? 标签中是否有任何属性可以在C#中显示“&”? 我正在尝试在标签中显示客户名称。 当名称中有任何“&”符号时,它会显示为“_”。 例如, A&B XXX显示为AB , B带有下划线。 而不是硬编码,有没有办法通过设置任何属性显示&符号收到?

System.Uri类截断尾随’。’ 人物

如果我从具有尾随句点的字符串创建一个Uri类实例 – ‘。’,它们将从生成的Uri对象中截断。 例如在C#中: Uri test = new Uri(“http://server/folder…/”); test.PathAndQuery; 返回“/ folder /”而不是“/folder…/”。 逃避“。” 与“%2E”没有帮助。 如何让Uri类保留尾随句点字符?

如何以逐字字符串的forms逃脱?

我对c#有点新,我在这一点上卡住了,我有一个常规的字符串,我在那里使用\来逃避” ,逃避这里意味着逃避编译器解释” ,并得到”印在屏幕,我得到预期的输出 – > class Program { static void Main(string[] args) { string s1 = “This is a \”regular\” string”; System.Console.WriteLine(s1); System.Console.Read(); } } o / p – >这是一个“常规”字符串 现在,我有一个逐字字符串,我试图逃避”以与上面相同的方式使用\ ..–> class Program { static void Main(string[] args) { string s2 = @”This is \ta \”verbatim\” string”;//this would escape \t System.Console.WriteLine(s2); System.Console.Read(); } } […]

如何使用HttpWebRequest在POST中转义URL编码数据

我正在尝试将URL编码的post发送到用PHP实现的REST API。 POST数据包含两个用户提供的字符串: WebRequest request = HttpWebRequest.Create(new Uri(serverUri, “rest”)); request.Method = “POST”; request.ContentType = “application/x-www-form-urlencoded; charset=UTF-8”; request.Headers.Add(“Content-Transfer-Encoding”, “binary”); // Form the url-encoded credentials we’ll use to log in StringBuilder builder = new StringBuilder(); builder.Append(“user=”); builder.Append(user); builder.Append(“&password=”); builder.Append(password); byte[] credentials = Encoding.UTF8.GetBytes(builder.ToString()); // Write the url-encoded post data into the request stream. request.ContentLength = credentials.Length; using […]

在javascript中转换内联c#脚本中的双引号

我需要在javascript中转换内联c#中的双引号。 代码如下: if (“” == “”) { // code }; 通常,我会像这样使用单引号: if (” == “”) { // code }; 但是, TempData[“Message”]在其中包含单引号(当它包含由ASP.NET MVC中的Html.ActionLink()帮助程序生成的链接时)。 因此,虽然我可以将TempData[“Message”]所有ActionLink助手更改为标签,但这是一个有趣的问题,并且很想知道是否有人有答案。

在SQL查询中转义值(带有SQL连接器的C#)

我知道我可以使用参数,但是什么是转义字符串序列的正确方法? 查询可能是这样的: “INSERT INTO records (ReferenceID,Name,Note,Author) VALUES (‘” + ID+ “‘,'” + addlevel.textBox1.Text + “‘,'”+addlevel.textBox2_note.Text+ “‘,'”+Program.Username+”‘)”; 我只是好奇,只想知道:) 编辑:那怎么样? “CREATE TABLE”+ string“….参数不能在这里使用!