有没有人有办法将字符串escape()
从 JS 转换为它的版本?我会对单个命令或任何类型的功能感到满意。
问问题
1168 次
1 回答
1
埋在链接的答案中,
Microsoft.JScript.dll
项目参考中的参考- 使用该
Microsoft.JScript.GlobalObject.escape
函数进行编码。
这是相同的过程,无论您使用 VB.Net、C# 还是其他 .Net 语言。他们必须都支持string
/ String
。
或者,这里有一些代码可以做同样的事情,它的反射和转换。
Public Shared Function Escape(str As String) As String
Dim str2 As String = "0123456789ABCDEF"
Dim length As Integer = str.Length
Dim builder As New StringBuilder(length * 2)
Dim num3 As Integer = -1
While System.Threading.Interlocked.Increment(num3) < length
Dim ch As Char = str(num3)
Dim num2 As Integer = ch
If (((&H41 > num2) OrElse (num2 > 90)) AndAlso _
((&H61 > num2) OrElse (num2 > &H7a))) AndAlso _
((&H30 > num2) OrElse (num2 > &H39)) Then
Select Case ch
Case "@"C, "*"C, "_"C, "+"C, "-"C, "."C, "/"C
GoTo Label_0125
End Select
builder.Append("%"C)
If num2 < &H100 Then
builder.Append(str2(num2 / &H10))
ch = str2(num2 Mod &H10)
Else
builder.Append("u"C)
builder.Append(str2((num2 >> 12) Mod &H10))
builder.Append(str2((num2 >> 8) Mod &H10))
builder.Append(str2((num2 >> 4) Mod &H10))
ch = str2(num2 Mod &H10)
End If
End If
Label_0125:
builder.Append(ch)
End While
Return builder.ToString()
End Function
于 2013-11-04T17:57:39.983 回答