Python中Javascript中的ASCII返回字符显示为换行符和“未终止的字符串错误”

时间:2017-03-17 17:38:29

标签: javascript python escaping ascii

我有一个Python脚本,它生成一个包含Javascript的HTLM页面。

在Python中,我定义了一个包含Javascript的字符串。

Javascript需要定义一个返回字符。

我尝试了3种不同的方式:

ScriptHTML = """
<script type="text/javascript">
    var RetChar = '\x0D';
    var RetChar2 = '\r';
    var RetChar3 = '\\\r';

    var MyString1 = 'ABC' + RetChar;
    var MyString2 = '123' + RetChar;

</script>
"""

def Main():
    print "Content-type: text/html\n"
    print ScriptHTML

当我查看生成的HTML时,我看到返回已被解释为:在引号之间添加换行符。

var RetChar = '
'
var RetChar2 = '
'
var RetChar3 = '
'

这让我得到了Javascript错误:

"SyntaxError: unterminated string literal"

我该如何解决这个问题?

我还需要一个TAB角色的解决方案。

1 个答案:

答案 0 :(得分:1)

您应该使用原始字符串文字,以防止Python处理转义码。

ScriptHTML = r"""
<script type="text/javascript">
    var RetChar = '\r';
    var MyString1 = 'ABC' + RetChar;
    var MyString2 = '123' + RetChar;

</script>
"""

def Main():
    print "Content-type: text/html\n"
    print ScriptHTML

您也可以在var TabChar = '\t'的定义之后添加RetChar,轻松添加标签字符。

相关问题