如何将实际代表十六进制值的字符放入字节数组中
How to put chars that actually represent hex values in a byte array
我有一个字符串text = 0a00...4c617374736e6e41
。该字符串实际上包含十六进制值作为字符。我想做的是在不改变 e 的情况下进行以下转换。 G。字符 a
到 0x41
;
text = 0a...4c617374736e6e41;
--> byte[] bytes = {0x0a, ..., 0x4c, 0x61, 0x73, 0x74, 0x73, 0x6e, 0x6e, 0x41};
这是我到目前为止尝试实现的:
...
string text = "0a00...4c617374736e6e41";
var storage = StringToByteArray(text)
...
Console.ReadKey();
public static byte[] StringToByteArray(string text)
{
char[] buffer = new char[text.Length/2];
byte[] bytes = new byte[text.length/2];
using(StringReader sr = new StringReader(text))
{
int c = 0;
while(c <= text.Length)
{
sr.Read(buffer, 0, 2);
Console.WriteLine(buffer);
//How do I store the blocks in the byte array in the needed format?
c +=2;
}
}
}
Console.WriteLine(buffer)
给了我需要的两个字符。但我不知道如何将它们放入所需的格式。
这是我已经在主题中找到的一些链接,但是我无法将其转移到我的问题中:
- How would I read an ascii string of hex values in to a byte array?
- How do you convert Byte Array to Hexadecimal String, and vice versa?
试试这个
string text = "0a004c617374736e6e41";
List<byte> output = new List<byte>();
for (int i = 0; i < text.Length; i += 2)
{
output.Add(byte.Parse(text.Substring(i,2), System.Globalization.NumberStyles.HexNumber));
}
我有一个字符串text = 0a00...4c617374736e6e41
。该字符串实际上包含十六进制值作为字符。我想做的是在不改变 e 的情况下进行以下转换。 G。字符 a
到 0x41
;
text = 0a...4c617374736e6e41;
--> byte[] bytes = {0x0a, ..., 0x4c, 0x61, 0x73, 0x74, 0x73, 0x6e, 0x6e, 0x41};
这是我到目前为止尝试实现的:
...
string text = "0a00...4c617374736e6e41";
var storage = StringToByteArray(text)
...
Console.ReadKey();
public static byte[] StringToByteArray(string text)
{
char[] buffer = new char[text.Length/2];
byte[] bytes = new byte[text.length/2];
using(StringReader sr = new StringReader(text))
{
int c = 0;
while(c <= text.Length)
{
sr.Read(buffer, 0, 2);
Console.WriteLine(buffer);
//How do I store the blocks in the byte array in the needed format?
c +=2;
}
}
}
Console.WriteLine(buffer)
给了我需要的两个字符。但我不知道如何将它们放入所需的格式。
这是我已经在主题中找到的一些链接,但是我无法将其转移到我的问题中:
- How would I read an ascii string of hex values in to a byte array?
- How do you convert Byte Array to Hexadecimal String, and vice versa?
试试这个
string text = "0a004c617374736e6e41";
List<byte> output = new List<byte>();
for (int i = 0; i < text.Length; i += 2)
{
output.Add(byte.Parse(text.Substring(i,2), System.Globalization.NumberStyles.HexNumber));
}