Vivienne <zh**********@gmail.comwrote:
I am using a c# library in my c++ project. so I have to convert a
basic string to System::string to make use of a function that takes
System::String as argument. I did it like this:
System::String^ s = gcnew System::String(basic_s.c_str()); //here
basic_s is a basic string in c++
But I found s contains less charactors than the original basic string,
some charactors are missing.
here, the basic string contians bytes that rang from -127 to 127,
which is the result of an encrypting function.
And what do you expect the result to be? Which encoding to you expect
it to use?
As a general rule, it's a *really, really* bad idea to convert
arbitrary binary data (such as the result of encryption) to text
directly. Use Base64 instead.
--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet Blog:
http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too