![](/img/trans.png)
[英]How to convert std::string with hex values into std::vector<unsigned char>
[英]std::vector hex values
如何使用十六进制值初始化std::vector
? 以下引发错误:
std::vector<unsigned char> vect ("oc","d4","30");
如果我有一个包含base64代码的字符串值,如:“DNQwSinfOUSSWd + U04r23A ==”....如何将它放在std :: vectorv中?
std :: string =“DNQwSinfOUSSWd + U04r23A ==”;
我首先要将其解码为hexa值。 之后将其放入矢量中。 有人可以告诉我如何将包含base64编码器的字符串值解码为hexa吗?
(你忘了给你的std::vector
一个元素类型。我会假设unsigned char
。)
在C ++ 0x中,您将能够编写:
std::vector<unsigned char> v{ 0x0C, 0xD4, 0x30 };
在C ++ 03中你必须写:
std::vector<unsigned char> v;
v.push_back(0x0C);
v.push_back(0xD4);
v.push_back(0x30);
或者,如果您不介意占用空间:
unsigned char values[] = { 0x0C, 0xD4, 0x30 };
std::vector<unsigned char> v(values, values+3);
你也可以看一下boost.assign 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.