簡體   English   中英

將字符串轉換為字節數組C#

[英]Convert string to byte array c#

我使用File.ReadAllBytes();獲得了一個字節數組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('.')我可以獲得所有單獨的數字。 但是,如何將所有字節復制到文件中? (重建原始文件)

我對您的字符串數組充滿File.ReadAllBytes()感到有些困惑,因為這將返回byte []而不是string []。 但是,除了將更多的精力放在將string []轉換為byte []的願望上之外,您可以執行以下操作(假設您的string []被稱為'str'):

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

假設您想將每個字符串轉換為一個字節(解析字符串),下面是一個小程序,該程序應演示如何執行您想要的操作:

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方法中獲得異常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM