Perhaps you could try a basic_istringstream<unsigned char>? According to the docs provided with MSVC Beta 2005, istringstream is just a typedef for basic_istringstream<char>. On the other hand, I'm not sure how char_traits<unsigned char> works..
Code:
template <
classElem,
classTr= char_traits<Elem>,
classAlloc= allocator<Elem>
>
class basic_istringstream : public basic_istream<Elem,Tr>
It'd be nice if you can find a way to fiddle around with that so that it behaves as you want. Unfortunately, I have no idea how any of the char_traits or allocator stuff works, so I can't be of any help there.
**EDIT**
[useless thought of the day]
Or you could write the data to a file and open it with a binary ifstream
[/useless thought of the day]