2017-09-17 44 views
0

Jämshögのような文字列を取り、すべてのアクセント付き文字が同等のユニコードエスケープコードになるようにJ\u00e4msh\u00f6gに変換するClassic ASP関数が必要です。クラシックASPラテン文字をUnicodeエスケープ文字列に変換

このデータをJSON文字列で、すべての特殊文字でUnicodeエスケープコードを使用する必要があるAPIに送信しています。

私は解決策が出てくるまでに何時間もかかると思っていましたが、私は近づくことはできませんでした。どんな助けでも大歓迎です。

答えて

3

下記のaspjsonの機能を見てください。また、引用符、タブ、行送りなどのエスケープする必要がある非Unicode文字も処理します。幸いにも依存関係がないので、スタンドアロンでも動作します。

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

関連する問題