How can i write a response.binarywrite to a string
I am having my data saved in my database as Longblob and while saving i am converting it to bytes and saving now while retrieving we can have that data 开发者_JAVA技巧by writing as follows
Byte[] bytes = (Byte[])dt.Rows[0]["Data"];
Response.BinaryWrite(bytes);
But what i need is i need that data in bytes to be represented as string is it possible
Well, is the data an encoded string? If so, use something like
string text = Encoding.UTF8.GetString(bytes);
... but make sure you use the right encoding.
If it's arbitrary binary data though, you should use base64 instead:
string text = Convert.ToBase64String(bytes);
That will get you an entirely-ASCII string which can be converted back to the original byte array using Convert.FromBase64String.
Without knowing what your data is, it's impossible to say which of these approaches is appropriate. You say you're converting your data to bytes when you save - but you haven't said how you've converted your data to bytes. Basically you want to reverse that process, whatever it is.
Use an encoding to convert it back.
string text = System.Text.Encoding.ASCII.GetString(myByteArray);
I think this is what you need: http://msdn.microsoft.com/en-us/library/744y86tc.aspx
You can convert arrays of bytes to strings by using the System.Text.Encoding.GetString(byte[]) method, but you do need to specify which encoding the bytes are in. The CLR comes with a few default encodings (Encoding.UTF8, Encoding.ASCII, etc) but in general you need to be very aware of what encoding was used to encode the data.
加载中,请稍侯......
精彩评论