c# - 无法解析 FxFF 格式的字节
问题描述
我需要以这种格式解析一个字节,Byte b = Byte.Parse("0x20");
但即使工作正常,该代码也不起作用Byte b=0x20
。我的问题是如何解析这种格式的字节0x06
或该格式的任何类型的字符串FxFF
解决方案
SubString
在传递给Byte.Parse
with NumberStyles.HexNumber
(或类似的)或使用Convert.ToByte
适当的base之前,您需要这样做:
将指定基数的数字的字符串表示形式转换为等效的 8 位无符号整数。
评论
如果 fromBase 是 16,您可以在 value 参数指定的数字前加上
0x
or0X
。
var hex = "0x20";
var byte = Byte.Parse(hex.SubString(2), NumberStyles.HexNumber);
var byte = Convert.ToByte(hex, 16);
您不能在前缀为or的字符串上使用byte.Parse
with any ,它只是无法处理它们。NumberStyles
0x
0X
十六进制数
指示使用AllowLeadingWhite、AllowTrailingWhite和 AllowHexSpecifier样式。这是一种合数样式。
AllowHexSpecifier
表示数字字符串表示十六进制值。有效的十六进制值包括数字 0-9 和十六进制数字 AF 和 af。使用此样式解析的字符串不能以 "0x" 或 "&h" 为前缀。
推荐阅读
- java - 如何使用 POI 将 Excel 文件头名称提取到数组列表中?
- r - 在 ATAC-seq 的 R 工作流程中使用 makeGRangesFromDataFrame 时出错
- qt - 使用 clang 和 lld 生成 .map 文件
- c# - EF6 多对多表中没有数据
- material-design - vuetify 的“edit-icon”类的 v-icon 不显示图标,而是显示“编辑”文本
- oracle - Oracle EntityFramework Core 数据库优先 - 更改默认类型映射
- ruby-on-rails - 在 .each(&:) 函数中传递参数
- javascript - 动态访问属性中的函数
- python - TypeError:运行 PIL 图像时,“模块”对象不可调用
- jquery - 在codeigniter 4中,我使用jQuery发出了一个POST请求,但请求没有到达服务器