我有一些需要传递给解码函数的字符序列:
例如:
例如:
"\x05three"
(是的,这是带有长度前缀的Pascal风格字符串。该函数将长度前缀字符串转换为以null结尾的字符串。)
我写了几个测试用例,其中包括:
"\x04four"
令我惊讶的是,这变成了"Oour"。仔细一看,原来在Visual Studio的转义序列规范中允许这样做,我的序列基本上被解释为\x04f
,它在十进制中是79(因此我的结果字符串变成了"Oour",79对应'O')。
我的解决方法很简单,就是拆分这个字符串:
"\x04" "four"
问题:还有其他方法可以转义或终止转义序列吗?
0x04f
是 4*16+15 = 79,所以是 'O'。 - Daniel Fischer