如题:
将字符串“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