搜索字符串并转换为字节c#

本文关键字:字节 转换 串并 字符 字符串 搜索 | 更新日期: 2023-09-27 18:22:51

我想从txt文件中获取特定的字符串,然后将字符串转换为字节,例如,我有一个txt文件:

"一个"

id编号:*=344E6F4D6F726548617885454332100

"两个"

id编号:*=3536336A775E3825246E773543563437

"三"

id:_number*=BDBD2EB72D82473DBE09F1B552A8983

现在我想要的是搜索标题,然后得到标题的id_number,然后将其转换为一个字节,如标题所示:

二(byte[]two=新字节[]{0xBD、0xBD、0x2E、0xB7、0x2D、0x82、0x47、0x3D、0xBE、0x09、0xF1、0x1B、0x55、0x2A、0x89、0x83};

我试过这个,但不起作用:

    string[] s = File.ReadAllLines("MyFilePath.txt");
List<byte[]> byteArrays = new List<byte[]>();
foreach (string st in s.Where(x => x.Trim().StartsWith("id_number:*=")).Select(x => x.Skip(12)))
{
    byte[] b = new byte[(int)((st.Length + 1) / 2)];
    for (int i = 0; i < (int)((st.Length + 1) / 2); i++)
    {
        var byteString = (st.Skip(2 * i).Length > 2) ?  st.Skip(2 * i).Take(2) : "0"+st.Skip(2 * i);
        var bt = Convert.ToByte(byteString, 16);
        b[i] = bt;
    }
    byteArrays.Add(b);
}

我现在不知道该把标题放在哪里?

请帮助

搜索字符串并转换为字节c#

selman22所说的是正确的。

我已经对您的代码进行了更改以使其正常工作。这是工作代码。

string[] s = File.ReadAllLines(@"E:'test'test.txt");
var byteArrays = new List<byte[]>();
foreach (string st in s.Where(x => x.Trim().StartsWith("id_number:*=")).Select(x => new string(x.Skip(12).ToArray())))
{
    byte[] b = new byte[(int)((st.Length + 1) / 2)];
    for (int i = 0; i < (int)((st.Length + 1) / 2); i++)
    {
        var byteString = ((st.Skip(2 * i).Count() > 2) ? new string(st.Skip(2 * i).Take(2).ToArray()) : "0" + new string(st.Skip(2 * i).ToArray()));
        var bt = Convert.ToByte(byteString, 16);
        b[i] = bt;
    }
    byteArrays.Add(b);
}