我正在尝试为我的项目编写一个自定义的Javascript MVC3 Helper类,其中一个方法应该将C#字符串转换为Javascript字符串.
我知道C#字符串是UTF-16编码的,Javascript字符串似乎也是UTF-16.这里没问题.
我知道一些字符,如反斜杠,单引号或双引号必须在Javascript上反斜杠转义,所以:
\ becomes \\
' becomes \'
" becomes \"
Run Code Online (Sandbox Code Playgroud)
在编写转换方法之前,还有其他警告我必须注意吗?
编辑:到目前为止很棒的答案,我在问题的答案中添加一些参考资料,以帮助其他人.
Alex K.建议使用System.Web.HttpUtility.JavaScriptStringEncode
,我将其标记为正确的答案,因为我使用.Net 4.但是此功能不适用于以前的.Net版本,所以我在这里添加了一些其他资源:
CR becomes \r // Javascript string cannot be broke into more than 1 line
LF becomes \n // Javascript string cannot be broke into more than 1 line
TAB becomes \t
Control characters must be Hex-Escaped
Run Code Online (Sandbox Code Playgroud)
JP Richardson提供了一个有趣的链接,告知Javascript使用UCS-2,这是UTF-16的一个子集,但如何正确编码这是一个全新的问题.
LukeH在下面的评论中提醒了CR,LF和TAB字符,这让我想起了控制字符(BEEP,NULL,ACK等等).
问题出在这里:目前我的团队为供应商工作,他们从他们的库中提供了一个巨大的JavaDoc规范,但没有为.jar文件提供存根或实现.
我们已经与他们交谈,但他们将在2到3周内提供.jar文件.我不想等待这个时间来开始我们的开发,所以这里的问题是:
仅提供JavaDoc .html文件,是否有任何工具(免费/开源)可用,因此我们可以创建一个.jar(或一堆.java/.class文件),使我们能够编译我们的代码?
在我的项目上开发一系列POCO,并意识到其中一些不需要该using System;
条款.
using <module>;
在我的物品或项目上留下未使用的物品或尺寸是否有任何损失?
由于这个原因,我的类会变大,变慢还是膨胀,或者编译器/优化器是否足够智能来处理这个问题?
我已经在这里做了一些搜索,关于这个,这个,这个以及更多,但没有任何线索,所以我将不得不问你们.
我正在尝试通过Interop打开一个Excel文件,我安装了Office 2007,所以我正在使用Microsoft.Office.Interop.Excel
版本14.0
.
当我尝试打开一个有效的xls
文件时,一切运行正常.
但是,如果我尝试通过Interop打开无效文件(如位图或可执行文件),Excel会在没有抱怨或警告的情况下打开它.
如何检测Excel是否加载了无效的工作簿文件,而没有阻止警报?
我正在尝试编写Excel对象阅读器的单元测试.其中一种情况是尝试打开无效文件.
一些代码可以帮助:应用程序创建:
_app = new Application()
{
Visible = false,
DisplayAlerts = false, // <-- I don't want to remove this.
AskToUpdateLinks = false,
};
Run Code Online (Sandbox Code Playgroud)
工作簿开放:
_workbooks.Open(filename);
_workbook = _workbooks.get_Item(1); // 1-based.
_worksheets = _workbook.Sheets;
Run Code Online (Sandbox Code Playgroud)
编辑:只是添加1个更多信息:Excel加载无效文件.如果DisplayAlerts
设置为true,则会抱怨(打开一个对话框)通知工作簿似乎已损坏,但如果DisplayAlerts
设置为false,则会加载文件,如下所示: