【发布时间】:2021-04-13 07:42:10
【问题描述】:
我需要将字符串转换为十六进制表示的字节数组。 例如:
值:06000002 我需要的是:
30 36 30 30 30 30 30 32
我尝试将所有字符隐式转换为字节,如下所示:
byte[] bytes = new byte[daten.Length];
for (int i = 0; i < daten.Length; i++)
{
int value = Convert.ToInt32(daten[i]);
bytes[i] = (byte)daten[i];
}
但是我总是得到这个结果:
48 54 48 48 48 48 48 50
我不需要将结果作为字符串!我需要它作为字节数组!
如何做到这一点?
【问题讨论】:
-
这能回答你的问题吗? Converting string to byte array in C#
-
48 十进制 == 0x30 十六进制。 54 == 0x36 和 50 == 0x32。您可能还想看看:stackoverflow.com/questions/311165/…
-
@Flydog57,这不是完美的骗局吗?
-
我将其标记为骗子。但是,从字符串到字节数组的转换使得它不是完全重复的。请注意,PeterB 在下面有一个答案,假设一个字符适合一个字节(永远不会失败)。 Jamiec 假设为 UTF-8 编码。 @Marvin,您打算如何将该字符串转换为字节数组(我注意到您有一个名为
daten的变量,我猜它是德语。一个 ß 适合一个字节(它是一个 U+00DF),但只是。很多字符不会 -
@Flydog57 我需要将一个字符串(只有数字,长度为 8)转换为一个字节数组,其中字节将 char 的值表示为 ascii 十六进制值。 Daten 是包含字符串的变量
标签: c#