2016-06-08 152 views
1

我有,我想借此char*string),并把它变成一个uint8_tbyte),那么我想字节分成两个nibbles4bits)并对其进行编辑,写家庭作业它到一个二进制文件。这样做的最好方法是什么?你如何拿char并把它变成uint8_t转换字符为二进制文件

+1

嗨,欢迎来到堆栈溢出。请发表你迄今为止尝试过的,并看看如何提出好问题:[问] –

+0

你需要让你的问题更清楚。如果输入是诸如'2'之类的字符,并且您希望将它从表示2(0x32)的ASCII值转换为二进制值2,那么听起来就是这样。或者,您可能想要实际处理二进制值0x32。你究竟打算做哪一件? – sabbahillel

回答

3

charuint8_t几乎相同(可以是相同的,具体取决于编译器设置; char具有编译器开关相关的符号性)。在投入使用之前,请确保正确的签名:

char someval = mystring[0]; 
uint8_t lonyb = (uint8_t)someval & 0xF; 
uint8_t hinyb = (uint8_t)someval >> 4; 
+0

我认为他想要把字符串转换成二进制数字,以便'2'变成2而不是ASCII码,这意味着2。 – sabbahillel

+0

感谢ShadowRanger yes是我的意思,谢谢你的帮助! –

相关问题