Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Converting string to byte array in C#

I'm converting something from VB into C#. Having a problem with the syntax of this statement:

if ((searchResult.Properties["user"].Count > 0)) {     profile.User = System.Text.Encoding.UTF8.GetString(searchResult.Properties["user"][0]); } 

I then see the following errors:

Argument 1: cannot convert from 'object' to 'byte[]'

The best overloaded method match for 'System.Text.Encoding.GetString(byte[])' has some invalid arguments

I tried to fix the code based on this post, but still no success

string User = Encoding.UTF8.GetString("user", 0); 

Any suggestions?

like image 956
nouptime Avatar asked Apr 18 '13 00:04

nouptime


2 Answers

First of all, add the System.Text namespace

using System.Text; 

Then use this code

string input = "some text";  byte[] array = Encoding.ASCII.GetBytes(input); 

Hope to fix it!

like image 23
Shridhar Avatar answered Oct 05 '22 00:10

Shridhar


If you already have a byte array then you will need to know what type of encoding was used to make it into that byte array.

For example, if the byte array was created like this:

byte[] bytes = Encoding.ASCII.GetBytes(someString); 

You will need to turn it back into a string like this:

string someString = Encoding.ASCII.GetString(bytes); 

If you can find in the code you inherited, the encoding used to create the byte array then you should be set.

like image 105
Timothy Randall Avatar answered Oct 05 '22 01:10

Timothy Randall