unsigned char数组转string-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5713|回复: 6

[已解决] unsigned char数组转string

[复制链接]
发表于 2018-10-3 22:34 | 显示全部楼层 |阅读模式
如题,怎样将char型数组转换成String类型。
例如将
unsigned char num[3]={0x11,0x20,0xA1}转换成"11,20,a1"
发表于 2018-10-3 23:48 | 显示全部楼层
[mw_shl_code=cpp,true]String s;
for(int i = 0; i < 3; i++) {
    s += String(num, HEX);
}[/mw_shl_code]

通过 s.c_str() 可以获得char字符串的指针。

参考:reference > Language > Variables > Data types > Stringobject String()

评分

参与人数 1金币 +9 收起 理由
奈何col + 9

查看全部评分

 楼主| 发表于 2018-10-4 23:12 | 显示全部楼层
bboxer 发表于 2018-10-3 23:48
[mw_shl_code=cpp,true]String s;
for(int i = 0; i < 3; i++) {
    s += String(num, HEX);

我试过这样处理,最后得到的就是一长串255 255 255 255..........
 楼主| 发表于 2018-10-4 23:32 | 显示全部楼层
bboxer 发表于 2018-10-3 23:48
[mw_shl_code=cpp,true]String s;
for(int i = 0; i < 3; i++) {
    s += String(num, HEX);

成功了,十分感谢。原来我之前没加HEX!!!
发表于 2022-4-12 15:30 | 显示全部楼层
"11,20,a1" 在转换过程中,纯数字可以正常转换,但是遇到 a1 这样,就会转换成 ffa1 多加2个ff,能去掉吗?
发表于 2022-4-12 19:33 | 显示全部楼层
shory 发表于 2022-4-12 15:30
"11,20,a1" 在转换过程中,纯数字可以正常转换,但是遇到 a1 这样,就会转换成 ffa1 多加2个ff,能去掉吗 ...

sprintf("%02X")
发表于 2022-4-13 14:38 | 显示全部楼层

使用 0x55&0xFF ,每个数都与上一个 0xFF 解决
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 09:35 , Processed in 0.081644 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表