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