易语言 POST返回数据解码问题 20
我用慧星POST提交得到了一串返回值,,,普通网站用一下慧星UTF-8解码就可以得到想要内容了,,但是今天我遇到了一个奇怪的编码,,慧星没法用{"id":"player_...
我用慧星POST提交得到了一串返回值,,,普通网站用一下慧星UTF-8解码就可以得到想要内容了,,但是今天我遇到了一个奇怪的编码,,慧星没法用
{"id":"player_rank","type":"o","num":"6862","message":null,"error":0},[{"order_id":"21","user_id":"89991","nickname":"\u5c0f\u53f6\u7684\u5386\u53f2","union_id":"10103",
其中nickname"\u5c0f\u53f6\u7684\u5386\u53f2" ,引号中的内容是汉字因为我在网页上看到了。。请问大家怎么样处理或者解码才能从返回值显示正在汉字,因为我要获取其中汉字信息。。。知道的高手说一下哈
-----------------------------------------------------------------------
版本 2
.子程序 ChrW, 文本型
.参数 char, 整数型
.局部变量 Ansi, 文本型
Ansi = 取空白文本 (2)
WideCharToMultiByte (936, 0, 到字节集 (char), 1, Ansi, 2, “”, 0)
返回 (删尾空 (Ansi))
.版本 2
.DLL命令 WideCharToMultiByte, 整数型, , "WideCharToMultiByte"
.参数 CodePage, 整数型
.参数 dwFlags, 整数型
.参数 lpWideCharStr, 字节集
.参数 cchWideChar, 整数型
.参数 lpMultiByteStr, 文本型
.参数 cchMultiByte, 整数型
.参数 lpDefaultChar, 文本型
.参数 lpUsedDefaultChar, 整数型
ChrW(0x5c0f)+ChrW(0x53f6)+.....................
"\u5c0f\u53f6\u7684\u5386\u53f2"
解出来的结果如果不正确,将ChrW第1个参数类型改为短整数,
参考 VB,AscW,和ChrW
"\u5c0f\u53f6\u7684\u5386\u53f2" 用上面代码解出来为: 小叶的历史
-----------------------------------------------------------------------
上面是我在易语言官方论坛发的求助贴,有一个高手进行了回答。但是我看不懂他这个代码如何使用,(高手回答部分用虚线标识出来了),但是我知道他解码出来的信息是正确的,所以请知道怎么使用的朋友说一下。同时如果有更简单的方法也请说一下,,,以及这样数据的编码型式是什么谢谢 展开
{"id":"player_rank","type":"o","num":"6862","message":null,"error":0},[{"order_id":"21","user_id":"89991","nickname":"\u5c0f\u53f6\u7684\u5386\u53f2","union_id":"10103",
其中nickname"\u5c0f\u53f6\u7684\u5386\u53f2" ,引号中的内容是汉字因为我在网页上看到了。。请问大家怎么样处理或者解码才能从返回值显示正在汉字,因为我要获取其中汉字信息。。。知道的高手说一下哈
-----------------------------------------------------------------------
版本 2
.子程序 ChrW, 文本型
.参数 char, 整数型
.局部变量 Ansi, 文本型
Ansi = 取空白文本 (2)
WideCharToMultiByte (936, 0, 到字节集 (char), 1, Ansi, 2, “”, 0)
返回 (删尾空 (Ansi))
.版本 2
.DLL命令 WideCharToMultiByte, 整数型, , "WideCharToMultiByte"
.参数 CodePage, 整数型
.参数 dwFlags, 整数型
.参数 lpWideCharStr, 字节集
.参数 cchWideChar, 整数型
.参数 lpMultiByteStr, 文本型
.参数 cchMultiByte, 整数型
.参数 lpDefaultChar, 文本型
.参数 lpUsedDefaultChar, 整数型
ChrW(0x5c0f)+ChrW(0x53f6)+.....................
"\u5c0f\u53f6\u7684\u5386\u53f2"
解出来的结果如果不正确,将ChrW第1个参数类型改为短整数,
参考 VB,AscW,和ChrW
"\u5c0f\u53f6\u7684\u5386\u53f2" 用上面代码解出来为: 小叶的历史
-----------------------------------------------------------------------
上面是我在易语言官方论坛发的求助贴,有一个高手进行了回答。但是我看不懂他这个代码如何使用,(高手回答部分用虚线标识出来了),但是我知道他解码出来的信息是正确的,所以请知道怎么使用的朋友说一下。同时如果有更简单的方法也请说一下,,,以及这样数据的编码型式是什么谢谢 展开
2个回答
展开全部
.版本 2
.支持库 spec
.子程序 JSON取中文, 文本型, , 用于取JSON返回值中的中文
.参数 文本, 文本型
.参数 分隔符, 文本型, 可空, 可空:“\u”
.局部变量 arr, 文本型, , "0"
.局部变量 result, 文本型
.局部变量 i, 整数型
.如果真 (是否为空 (分隔符))
分隔符 = “\u”
.如果真结束
arr = 分割文本 (文本, 分隔符, )
result = “”
.计次循环首 (取数组成员数 (arr), i)
调试输出 (arr [i])
.如果 (取文本长度 (arr [i]) > 4)
result = result + USC2转ANSI (取文本左边 (arr [i], 4)) + 取文本右边 (arr [i], 取文本长度 (arr [i]) - 4)
.否则
result = result + USC2转ANSI (arr [i])
.如果结束
.计次循环尾 ()
.如果真 (result = “”)
返回 (文本)
.如果真结束
返回 (result)
.支持库 spec
.子程序 JSON取中文, 文本型, , 用于取JSON返回值中的中文
.参数 文本, 文本型
.参数 分隔符, 文本型, 可空, 可空:“\u”
.局部变量 arr, 文本型, , "0"
.局部变量 result, 文本型
.局部变量 i, 整数型
.如果真 (是否为空 (分隔符))
分隔符 = “\u”
.如果真结束
arr = 分割文本 (文本, 分隔符, )
result = “”
.计次循环首 (取数组成员数 (arr), i)
调试输出 (arr [i])
.如果 (取文本长度 (arr [i]) > 4)
result = result + USC2转ANSI (取文本左边 (arr [i], 4)) + 取文本右边 (arr [i], 取文本长度 (arr [i]) - 4)
.否则
result = result + USC2转ANSI (arr [i])
.如果结束
.计次循环尾 ()
.如果真 (result = “”)
返回 (文本)
.如果真结束
返回 (result)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询