C#-将十六进制值的字符串转换为hex

| 这听起来可能很奇怪,但是我的问题是我有一个来自文本文件的十六进制值的文本字符串,如下所示:
\"0x0f, 0x40, 0xff, ....\"
我将它们存储在一个由定界符分隔的数组中,但是现在我需要做的是用十六进制表示一个字节数组:
stringArray[0] = \"0x0f\";

byteArray[0] = 0x0f;
我该怎么做(用户可以加载文本文件,所以我不知道值是什么),我可以使用某种算术吗?     
已邀请:
您只需要解析每个字符串。因为每个值仅是一个值,所以您可以执行以下操作:
byte b;
if (byte.TryParse(s, NumberStyles.HexNumber, 
    CultureInfo.InvariantCulture.NumberFormat, out b)) 
{
    // b contains the value.
}
其中s是要解析的字符串,b是结果值。     
如果字符串格式正确,则可以使用以下代码创建数组(如果输入的格式错误,则会引发异常):
var text = \"0x0f, 0x40, 0xff\";
var bytes = text
  .Split(new[] { \", \" }, StringSplitOptions.None)
  .Select(s => (Byte) Int32.Parse(s.Substring(2), AllowHexSpecifier));
    
非奇数十六进制字符串是正确的。 从中检查源是否获得此字符串。 这是由于限制字符数而导致的字符串截断。 如果String是图像存储在数据库中,则使用程序而不使用任何工具来检索它 我在使用.net和MSSQL以及通过使用webservice和Java Client时遇到相同的问题     

要回复问题请先登录注册