首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

调用JS里unescape的有关问题

2012-03-20 
调用JS里unescape的问题VB codePrivate Function Unescape(ByVal pstrInput As String) As StringDim objS

调用JS里unescape的问题

VB code
Private Function Unescape(ByVal pstrInput As String) As String              Dim objScrCtl As Object    Set objScrCtl = CreateObject("MSScriptControl.ScriptControl")    objScrCtl.Language = "JavaScript"    Unescape = objScrCtl.Eval("unescape('" & pstrInput & "');")    Set objScrCtl = NothingEnd Function


一个网页.responsetext返回的内容里面汉字全用什么\uXXXX来表示的,我用这个转换,有的是成功的,可有的转换的时候提示"未结束的字符串常量')'",百度了一下没找到解决办法
如果用自己写的转换的话,效率很差,速度很慢,请问高手,有啥好点的办法没??

PS: 对了还有的是类似%uXXXX,这种和\uXXXX貌似都是一种编码,为什么一会是%u一会是\u呀

[解决办法]
VB code
'┏〓〓〓〓〓〓〓〓〓 UtoStr,start 〓〓〓〓〓〓〓〓〓┓'[简介]:'Unicode字符转换为普通字符Function UtoStr(Ustr As String) As String   '帮你写函数,帮你写代码,帮你写模块,帮你设计软件   '--需要什么函数或功能,可以联系我。   '版权所有,请保留作者信息.   '如需商业用途请联系作者QQ:1085992075   Dim SArr() As String   SArr = Split(Ustr, "\u")   Dim I As Long   Dim DST As String   DST = SArr(I)   For I = 1 To UBound(SArr)   If Len(SArr(I)) = 4 Then   DST = DST & ChrW(val("&H" & SArr(I)))   ElseIf Len(SArr(I)) > 4 Then   DST = DST & ChrW(val("&H" & Left(SArr(I), 4))) & Mid(SArr(I), 5)   Else   DST = DST & SArr(I)   End If   Next   UToStr = DST   'Dim gb2312() As Byte   'gb2312 = StrConv(DST, vbFromUnicode)End Function'┗〓〓〓〓〓〓〓〓〓  UtoStr,end  〓〓〓〓〓〓〓〓〓┛ 

热点排行