2017-09-17 33 views
0

Jämshög과 같은 문자열을 사용하고 모든 악센트 부호가있는 문자가 해당 유니 코드 이스케이프 코드가되도록 J\u00e4msh\u00f6g으로 변환하는 Classic ASP 함수가 필요합니다.클래식 ASP 라틴 문자를 유니 코드 이스케이프 문자열로 변환

모든 특수 문자가 유니 코드 이스케이프 코드를 사용하도록 요구하는 API에이 데이터를 JSON 문자열로 보냅니다.

저는 솔루션을 생각해 내는데 몇 시간이 걸렸는지 찾고 있었지만 가까이 갈 수 없었습니다. 어떤 도움이라도 대단히 감사하겠습니다.

답변

3

아래 기능 aspjson을 살펴보십시오. 또한 따옴표, 탭, 줄 바꿈 등과 같이 이스케이프 처리해야하는 비 유니 코드 문자도 처리합니다. 따라서 종속성이 없으므로 독립 실행 형입니다.

Function jsEncode(str) 
    Dim charmap(127), haystack() 
    charmap(8) = "\b" 
    charmap(9) = "\t" 
    charmap(10) = "\n" 
    charmap(12) = "\f" 
    charmap(13) = "\r" 
    charmap(34) = "\""" 
    charmap(47) = "\/" 
    charmap(92) = "\\" 

    Dim strlen : strlen = Len(str) - 1 
    ReDim haystack(strlen) 

    Dim i, charcode 
    For i = 0 To strlen 
     haystack(i) = Mid(str, i + 1, 1) 

     charcode = AscW(haystack(i)) And 65535 
     If charcode < 127 Then 
      If Not IsEmpty(charmap(charcode)) Then 
       haystack(i) = charmap(charcode) 
      ElseIf charcode < 32 Then 
       haystack(i) = "\u" & Right("000" & Hex(charcode), 4) 
      End If 
     Else 
      haystack(i) = "\u" & Right("000" & Hex(charcode), 4) 
     End If 
    Next 

    jsEncode = Join(haystack, "") 
End Function 
+0

정말 고마워요! 이것은 내가 필요한 것입니다. – VampiricMonkey