- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
谁能解释一下字符常量\000 和\xhh 的用法,即字符常量中的八进制数和十六进制数?
最佳答案
在 C 中,字符串以值为零 (0) 的字符结束。可以这样写:
char zero = 0;
但这在字符串中不起作用。字符串文字中使用了一种特殊的语法,其中反斜杠用作转义序列介绍,后面跟有各种东西。
一个这样的序列是“反斜杠零”,它只是表示一个值为零的字符。因此,你可以这样写:
char hard[] = "this\0has embedded\0zero\0characters";
另一个序列使用反斜杠后跟字母 'x'
和一个或两个十六进制数字来表示具有指定代码的字符。例如,使用此语法,您可以将零字节写为 '\x0'
。
编辑:重新阅读问题,也支持以八为基数的此类常量,即八进制。它们使用反斜杠后跟数字零,就像八进制文字整数常量一样。 '\00'
因此是 '\0'
的同义词。
当您需要构造包含非打印字符或特殊控制字符的字符串时,这有时很有用。
还有一组单字符的“命名”特殊字符,比如'\n'
代表换行,'\t'
代表TAB,等等.
关于字符常量 :\000\xhh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/755741/
谁能解释一下字符常量\000 和\xhh 的用法,即字符常量中的八进制数和十六进制数? 最佳答案 在 C 中,字符串以值为零 (0) 的字符结束。可以这样写: char zero = 0; 但这在字符
我想将文件中的十六进制数转换为整数。 字符串如下所示: \0\0\x05\xa0 这应该是 1440。如果我尝试: int i = '\x05' 我得到 5。 但是如果我对 \xa0 做同样的事情,我
我正在尝试将此输入 \x01\xc3\xa4\xc3\xb6\xc3\xbc\xff 转义为此 \\x01\\xc3\\xa4\\xc3\\xb6\\xc3\\xbc\\xff 使用printf("%
我有:b'{"street":"Grossk\\xc3\\xb6lnstra\\xc3\\x9fe"}' 我需要:'{"street": "Grosskölnstraße"}' 我试过: s.deco
我遇到过需要将一串字符转换成python中的字符串的情况。 s = "\\x80\\x78\\x07\\x00\\x75\\xb3" print s #gives: \x80\x78\x07\x00\
我正在尝试使用需要多个十六进制值的字符来转换字符串,如下所示: 'Mahou Shoujo Madoka\xe2\x98\x85Magica' 到它的 unicode 表示: 'Mahou Shouj
我是一名优秀的程序员,十分优秀!