std::vector<unsigned char> array(...);
std::string<char> s(array.begin(), array.end());

ってできないんですか?