我有一项家庭作业,我想要char*
(string
)并将其转换为uint8_t
(byte
)我想要分割字节分成两个nibbles
(4bits
)并编辑它并将其写入二进制文件。这样做的最佳方式是什么?如何获取char
并将其转为uint8_t
?
答案 0 :(得分:3)
char
和uint8_t
几乎相同(可以是相同的,具体取决于编译器设置; char
具有编译器开关相关的签名)。只需施放以确保操作前的正确签名:
char someval = mystring[0];
uint8_t lonyb = (uint8_t)someval & 0xF;
uint8_t hinyb = (uint8_t)someval >> 4;