javascript
  • python
  • escaping
  • ascii
  • 2017-03-17 4 views 0 likes 
    0

    자바 스크립트가 들어있는 HTLM 페이지를 생성하는 Python 스크립트가 있습니다.파이썬 내 Javascript 내의 ASCII 반환 문자가 줄 바꿈으로 나타나고 "끝나지 않은 문자열 오류"

    파이썬에서는 자바 스크립트가 포함 된 문자열을 정의합니다.

    자바 스크립트는 Return 문자를 정의해야합니다. 내가 생성 된 HTML을 볼 때

    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 
    

    , 나는 반환을 의미하는 것으로 해석 된 것을 볼 수 :

    나는 3 개 가지 방법을 시도 따옴표 사이에 줄 바꿈을 넣어.

    "SyntaxError: unterminated string literal" 
    

    가 어떻게이 문제를 해결할 수 있습니다 : 나에게 자바 스크립트 오류를 ​​가져옵니다

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

    ?

    또한 Tab 문자에 대한 해결책이 필요합니다.

    +2

    아스키 값으로 변환하기 위해'String.fromCharCode()'를 사용하거나'\\ r'을 사용하여 출력으로 직접 변환합니다. 이중 슬래시는 슬래시 만 이스케이프하고 r은 코드를 정상적으로 인쇄해야합니다. 그러면 javascript에서만 이스케이프됩니다. – MiltoxBeyond

    +0

    String.fromCharCode (13)가 작동했습니다. 답변을 게시하여 받아 들일 수 있도록하십시오. 감사. –

    답변

    1

    이스케이프 코드가 파이썬에 의해 처리되지 않도록하는 원시 문자열 리터럴을 사용해야합니다.

    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 
    

    당신은 쉽게 RetChar의 정의 후 var TabChar = '\t'을 넣어 탭 문자를 추가 할 수 있습니다.

    +0

    잘 작동합니다. 고맙습니다. 나는 Miltox의 해결책을 선호합니다. 그래서 당신의 것을 받아 들일 것입니다. –

     관련 문제

    • 관련 문제 없음^_^