在C#中将字符串转换为字节数组
我对C#很陌生。 我正在从VB转换成C#。 这个语句的语法有问题:
if ((searchResult.Properties["user"].Count > 0))
{
profile.User = System.Text.Encoding.UTF8.GetString(searchResult.Properties["user"][0]);
}
然后我看到以下错误:
参数1:不能从'object'转换为'byte []'
'System.Text.Encoding.GetString(byte [])'的最佳重载方法匹配有一些无效参数
我试图修复基于这篇文章的代码,但仍然没有成功
string User = Encoding.UTF8.GetString("user", 0);
有什么建议么?
如果您已经有了一个字节数组,那么您将需要知道使用哪种类型的编码将其编入该字节数组中。
例如,如果字节数组是这样创建的:
byte[] bytes = Encoding.ASCII.GetBytes(someString);
您需要将其重新转换为如下所示的字符串:
string someString = Encoding.ASCII.GetString(bytes);
如果您可以在您继承的代码中找到用于创建字节数组的编码,那么您应该设置它。
首先,添加System.Text
命名空间
using System.Text;
然后使用这个代码
string input = "some text";
byte[] array = Encoding.ASCII.GetBytes(input);
希望解决它!
您也可以使用扩展方法将方法添加到string
类型,如下所示:
static class Helper
{
public static byte[] ToByteArray(this string str)
{
return System.Text.Encoding.ASCII.GetBytes(str);
}
}
并像下面一样使用它:
string foo = "bla bla";
byte[] result = foo.ToByteArray();
链接地址: http://www.djcxy.com/p/15889.html
上一篇: Converting string to byte array in C#
下一篇: Cannot convert from int to system.collections.generic.icomparer<int>