关于AT Command 电话簿,怎么正确转成是中文的联系人名称

lucky749 2009-05-31 09:42:30
如题。
首先说明情况有执行以下操作
AT+CPBS=“SIM“
AT+CSCS=? 得出来只有四种 GSM,CUSTOM,HEX,,

AT+CPBR=1,2读出来的
+CPBR: 1,13824765555,129,ds3D343244FFFF
+CPBR: 1,13824765555,129,8855454121
请问如何讲名称转成中文啊。
...全文
124 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Roy_ly 2009-06-02
  • 打赏
  • 举报
回复
来来,给你看看示例代码:


VOID HexStr2Unicode(const std::string HexStr, wchar_t UnicodeStr[1024])
{
int i, j;
int iStrLen;
int iTemp;
CHAR *p = NULL;
CHAR HexChar[1024];
ZeroMemory(HexChar, sizeof(HexChar));
strcpy(HexChar, HexStr.c_str());
ZeroMemory(UnicodeStr, 1024 * sizeof(wchar_t));
CHAR TempChar[32];
ZeroMemory(TempChar, sizeof(TempChar));
iStrLen = strlen(HexChar);
for (i = 0, j = 0; i < iStrLen; i+=2,j++)
{
memcpy(TempChar, HexChar + i, 2);
sscanf(TempChar, "%x", &iTemp);
p = (CHAR*)UnicodeStr;
if (j % 2 == 0)
{
p[j+1] = iTemp;
}
else if (j % 2 == 1)
{
p[j-1] = iTemp;
}
}
}
lucky749 2009-05-31
  • 打赏
  • 举报
回复
TO:ROY_Ly
我现在的情况是读出了SIM卡电话簿联系人。我应该要怎么把这种编码转成中文啊
Roy_ly 2009-05-31
  • 打赏
  • 举报
回复
AT命令里面只能保存16进制的UNICODE编码,你要保存中文的话就要自己把中文对应的UNICODE转换了以后再用AT命令写进去。
读出来的时候也是UNICODE,这是你同样要转换一下变成中文显示出来。

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧