将字符串转换为字节数组c#

Convert string to byte array c#

我使用 File.ReadAllBytes(); 获得了一个字节数组,并将其转换为字符串 (s)。

我使用以下代码将字节数组转换为简单字符串:

        string name;
        string s;
        byte[] bytes;

        bytes = File.ReadAllBytes(name);
        foreach (byte b in bytes)
        {
            s = s + b + ".";
        }

现在 s 类似于 "255.0.0.12.100.4.24.40.0.0.200"。现在我想把这个字符串转换成一个文件。使用 s.Split('.') 我可以获得所有个人号码。但是如何将所有字节复制到一个文件中呢? (重构原文件)

假设您要将每个字符串转换为单个字节(解析字符串),这里有一个小程序应该演示如何执行您正在寻找的操作:

void Main()
{
    string[] vals = new string[10];
    // populate vals...
    byte[] bytes = new byte[vals.Length];
    int i = 0;
    foreach (string s in vals)
    {
        bytes[i++] = byte.Parse(s);
    }
}

请注意,对于字符串未正确解析为字节的情况,此处没有错误处理;在那种情况下,你会从 byte.Parse 方法中得到一个例外。

我对你的字符串数组充满 File.ReadAllBytes() 感到有点困惑,因为这是 returns 一个字节 [] 而不是一个字符串 []。但是,除此之外,更多地关注您希望将 string[] 转换为 byte[] 的愿望,您可以这样做(假设您的 string[] 被称为 'str'):

byte[] MyByteArray = str.Select(s => Byte.Parse(s)).ToArray();