如何将字符串转换为字节数组?

时间:2015-05-30 10:46:26

标签: c# bytearray

我收到错误消息:

  

无法隐式转换类型'字符串'到' Byte []'

我认为' byte []'是字节数组 - 如果不是,请纠正我。

我在这个网站上尝试了另一个解决方案,但我不明白。我正在制作一个c#< RTM工具'这就是:

byte[] bytes = (metroTextBox2.Text);   
Array.Resize<byte>(ref bytes, bytes.Length + 1);   
PS3.SetMemory(0x2708238, bytes);

3 个答案:

答案 0 :(得分:3)

您可以尝试这样:

string str= "some string";
var bytes = System.Text.Encoding.UTF8.GetBytes(str);

要解码:

var decodeString = System.Text.Encoding.UTF8.GetString(bytes);

答案 1 :(得分:0)

    static void Main(string[] args)
    {
        string inputStr = Console.ReadLine();
        byte[] bytes = Encoding.Unicode.GetBytes(inputStr);
        string str = Encoding.Unicode.GetString(bytes);
        Console.WriteLine(inputStr == str); // true
    }

答案 2 :(得分:-1)

试试这个,

static byte[] GetBytes(string str)
{
    byte[] bytes = new byte[str.Length * sizeof(char)];
    System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
    return bytes;
}

n字节到字符串转换

static string GetString(byte[] bytes)
{
    char[] chars = new char[bytes.Length / sizeof(char)];
    System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
    return new string(chars);
}

归功于this answer