有没有办法使用原始二进制值向字符串添加字符?我知道我可以做这样的事情:
std::string output3 = std::string("\x01\x00\x01...", ...);
它是由字符的十六进制值完成的。是否可以通过其 bin 值指定字符?像这样的东西:
std::string output1 = std::string("\b11100101\b01000000", 7);
注意:我知道
\b
有它的含义,这只是一个例子。 最佳答案
简短回答 - C++ 不提供使用二进制值转义字符的方法。
可能的解释:对于任何编译器实现作为扩展(AFAIK)来说,它从来没有被认为足够有用,当然也从来没有足够有用以提出标准化。
如果这是您真正需要的东西,我建议您编写(或修改)一个预处理器来为您执行此操作(但您不应该使用 \b
作为介绍人,因为它已经代表退格字符)。
关于二进制值的 C++ 转义序列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45915685/