如何解决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时遇到相同的问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。