欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vba 将http.responseText返回的 unicode字符转换成中文

程序员文章站 2022-06-24 20:02:17
...

最近接触到vba 中从网页返回的数据中有类似"\u97f3\u4e50\u8be6\u60c5\u9875\u5217\u8868\u5728\“这种编码,但是我想转换成中文,查了很久,才查到资料,现在分享给大家,也做个记录,再次感谢论坛中的大神,学习ing
我要处理的数据—responseText是这样得来的
     

    http.Open "POST", "url", False
    http.setRequestHeader "Content-Type", "text/html;charset=GB2312"
    http.Send data
    Dim responseText As String
    responseText = http.responseText & ";"   ‘对这个数据进行转换成中文,这个数据的格式类似于"\u4e50\u8be6\u60c5\”


我想要得到的数据是对上面的responseText 进行转码成中文显示,方法如下:
 

Function Convert(strText As String) As String
    With CreateObject("MSScriptControl.ScriptControl")
        .Language = "javascript"
        Convert = .Eval("('" & strText & "').replace(/&#\d+;/g,function(b){return String.fromCharCode(b.slice(2,b.length-1))});")
        Debug.Print Convert
    End With
End Function


'使用方法:
responseText = Convert(responseText)   ’得到的responseText 就是转码成功后的中文形式

 

相关标签: vba