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

最近接触到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 就是转码成功后的中文形式

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值