首页 新闻 会员 周边 捐助

子佩开发包CC301SDK

0
悬赏园豆:20 [已解决问题] 解决于 2023-07-27 15:07

有人用过 子佩开发包CC301SDK 吗?我用QNV_TOOL_LOCATION获取电话号归属地时返回值乱码。
StringBuilder szBuf = new StringBuilder();
int retValue = BriSDKLib.QNV_Tool(BriSDKLib.QNV_TOOL_LOCATION, 0, Telephone, "0", szBuf, 1024);

返回的szBuf 乱码。

走过不远的地方的主页 走过不远的地方 | 初学一级 | 园豆:5
提问于:2023-04-06 10:16
< >
分享
最佳答案
0

问题直接不需要这个字段,自己先结贴。

走过不远的地方 | 初学一级 |园豆:5 | 2023-07-27 15:06
其他回答(1)
0

根据你提供的信息,这个问题可能是由于返回的字符串编码格式不正确导致的。你可以尝试将 StringBuilder 构造函数的第二个参数设置为返回字符串的长度,以避免获取到未初始化的内存并导致乱码。

例如:

int retValue = BriSDKLib.QNV_Tool(BriSDKLib.QNV_TOOL_LOCATION, 0, Telephone, "0", szBuf, szBuf.Capacity);
string result = Encoding.Default.GetString(Encoding.Convert(Encoding.GetEncoding("GBK"), Encoding.Default, Encoding.Default.GetBytes(szBuf.ToString(0, retValue))));

这里使用 Encoding.GetEncoding("GBK") 来指定字符串编码格式,你可以根据具体情况调整。同时,注意 StringBuilder 的长度应该为 szBuf.Capacity,而不是 1024。

收获园豆:20
Technologyforgood | 园豆:7688 (大侠五级) | 2023-04-06 19:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册