Encoding 编码dec字符而不是八进制
我不明白为什么Encoding 编码dec字符而不是八进制,encoding,char,decimal,Encoding,Char,Decimal,我不明白为什么 char test = '\032'; 皈依 26 dec “\032”似乎被解释为八进制,但我希望它被视为十进制数 我想我对字符编码感到困惑 有谁能帮我澄清一下这一点,并给我一个如何将其转换为我想要的方式的提示吗 您使用的语法(\0xxx)用于八进制。要使用十进制,只需执行以下操作: char test = (char)32; 在C语言中,'\octaldigit'开始一个八进制转义序列。没有十进制转义序列 代码可以简单地使用: char test = 32; 要
char test = '\032';
皈依
26 dec
“\032”
似乎被解释为八进制,但我希望它被视为十进制数
我想我对字符编码感到困惑
有谁能帮我澄清一下这一点,并给我一个如何将其转换为我想要的方式的提示吗
您使用的语法(\0xxx)用于八进制。要使用十进制,只需执行以下操作:
char test = (char)32;
在C语言中,
'\octaldigit'
开始一个八进制转义序列。没有十进制转义序列
代码可以简单地使用:
char test = 32;
要将32的值指定给
字符
,code有许多选项:
// octal escape sequence
char test1 = '\040'; // \ and then 1, 2 or 3 octal digits
char test2 = '\40';
// hexadecimal escape sequence
char test3 = '\x20'; // \x and then 1 or more hexadecimal digits
// integer decimal constant
char test4 = 32; // 1-9 and then 0 or more decimal digits
// integer octal constant
char test5 = 040; // 0 and then 0 or more octal digits
char test6 = 0040;
char test7 = 00040;
// integer hexadecimal constant
char test8 = 0x20; // 0x or 0X and then 1 or more hexadecimal digits
char test9 = 0X20;
// universal-character-name
char testA = '\u0020'; // \u & 4 hex digits
char testB = '\U00000020'; // \U & 8 hex digits
// character constant
char testC = ' '; // When the character set is ASCII
非常感谢您的澄清,但我无法更改转义八进制序列。它是我正在解析的字符串的一部分。我必须以某种方式对其进行转换以获得十进制表示。这可能吗?@user3482407
chartest='\032'代码>和“它是我正在解析的字符串的一部分。”这意味着编译器解析char test='\032'时,您就是编译器代码>。建议修改帖子以展示你真正在做什么。