【发布时间】:2018-02-05 12:40:01
【问题描述】:
有没有办法使用原始二进制值向字符串添加字符?我知道我可以这样做:
std::string output3 = std::string("\x01\x00\x01...", ...);
这是由字符的十六进制值完成的。是否可以通过其 bin 值指定字符?像这样的:
std::string output1 = std::string("\b11100101\b01000000", 7);
注意:我知道\b 有它的含义,这只是一个例子。
【问题讨论】:
-
en.cppreference.com/w/cpp/language/escape 上没有列出任何内容,所以我猜:没有。
-
你真的需要它是带引号的字符串形式吗?
(char[]){0b01100101, 0b01000000}怎么样? (需要 c++14 或二进制的编译器扩展)。请注意,您必须小心签名。 -
哈哈,我根本不需要它,我只是懒惰和好奇C++特性:)。我已经以与您类似的方式解决了它,这是一个简单的解决方案(顺便说一句,我必须使用 gcc 4.8.5,因此没有 c++14)。但我猜@manni66 回答了我的问题……