在字符数组中包括char的十进制等效项

Has*_*eem 3 c++ string ascii escaping character-encoding

如何使用字符的十进制/十六进制表示形式而不是实际字符创建字符数组。

我问的原因是因为我正在编写C代码,所以我需要创建一个包含非英语字符的字符串。然后,该字符串将被解析并显示在LCD屏幕上。

例如,'\ 0'解码为0,'\ n'解码为10。我还能舍弃这些特殊字符以显示自定义字符吗?我可以发送“ Temperature is 10 \ d C”(温度为10 \ d C),并打印度数符号,而不是'\ d'。这样的事情会很棒。

Mat*_*son 6

假设您的显示器上有一个带度数的字符代码(使用定制的显示器,我不一定希望它在扩展的IBM ASCII字符集中的通用位置“显示”,或者该显示器支持Unicode字符)编码),则可以使用\nnn或编码\xhh,其中nnn最多为八进制的三位数(以8为基数),hh最多为十六进制的两位数。不幸的是,没有十进制编码可用-Dennis Ritchie和/或Brian Kernighan可能更习惯于使用八进制,因为这在C首次开发时就很普遍。

例如

 char *str = "ABC\101\102\103";
 cout << str << endl;
Run Code Online (Sandbox Code Playgroud)

应该打印ABCABC(假设ASCII编码)