我有一个 char 数组,但值是字符的十进制表示形式。例子:
char bytes[4]={50,48,49,51}
Run Code Online (Sandbox Code Playgroud)
如何将其转换为获取 char 数组,如下所示:
char bytes1[4]={2,0,1,3}
Run Code Online (Sandbox Code Playgroud)
创建数组时,您应该使用字符文字:
char bytes[4] = {'2', '0', '1', '3'};
Run Code Online (Sandbox Code Playgroud)
它们以编译器使用的字符编码存储在内存中,该编码将字符转换为数字。
如果您想获得人类读取时字符表示的十进制值(即“2”-> 2),那么您可以假设bytes[x] - '0'数字字符在字符编码中相邻(至少对于 ASCII 和 UTF 来说是这样) )。