c# 将字符串转为十六进制再赋值给字节数组

如题:
将字符串“3YY09",转为十六进制后,赋值给字节数组

谢谢,这个可行

public static class HexStringConverter
{

    public static string StringToHex(this string hexString)
    {
        var sb = new StringBuilder();
        foreach (var t in hexString)
        {
            sb.Append(Convert.ToInt32(t).ToString("X")); 
        }
        return sb.ToString();
    }
    public static byte[] ToByteArray(this string hexString)
    {
        var numberChars = hexString.Length;
        var bytes = new byte[numberChars / 2];
        for (var i = 0; i < numberChars; i += 2)
        {
            bytes[i / 2] = Convert.ToByte(hexString.Substring(i, 2), 16);
        }
        return bytes;
    }
}

关键词 “C# hex2byte”

以下是一个基于.NET 6的示例程序:

using System.Text;

var input = "3YY09";
var hexString = ToHexString(input);
Console.WriteLine("转换成十六进制为:");
Console.WriteLine(hexString);
//var result = hexString.ToByteArray();
var result = Convert.FromHexString(hexString);
Console.WriteLine("还原后的字符串为:");
Console.WriteLine(Encoding.Default.GetString(result));

static string ToHexString(string str)
{
    var bytes = Encoding.UTF8.GetBytes(str);
    return Convert.ToHexString(bytes);
}

输出结果:

转换成十六进制为:
3359593039
还原后的字符串为:
3YY09