C++ 二进制值的转义序列

suk*_*nej 5 c++ string escaping

有没有办法使用原始二进制值向字符串添加字符?我知道我可以做这样的事情:

std::string output3 = std::string("\x01\x00\x01...", ...);
Run Code Online (Sandbox Code Playgroud)

这是通过字符的十六进制值完成的。是否可以通过其 bin 值来指定字符?像这样的东西:

std::string output1 = std::string("\b11100101\b01000000", 7);
Run Code Online (Sandbox Code Playgroud)

注意:我知道\b有它的含义,这只是一个例子。

Tob*_*ght 0

简短的回答 - C++ 不提供使用二进制值转义字符的方法。

可能的解释:它从未被认为足够有用,可供任何编译器作为扩展实现(据我所知),当然也从未被认为足够有用以提出标准化。

如果这是您真正需要的东西,我建议您编写(或修改)一个预处理器来为您执行此操作(但您不应该将其用作\b引导符,因为它已经代表退格字符)。