在 C# 中将字符串逐字转换为字节

问题描述 投票:0回答:1

我正在编写一个用于刷新 MCU 的程序,需要从 WinForm 收集字符串格式的输入,但用于字节值。

输入字段 价值观
用户数据 0 0xA1
写保护控制 0xC2

如何通过将从

TextBox.Text
对象收集的字符串输入到字节来将它们从字符串更改为字节?

例如:将字符串“0xA1”改为字节0xA1

让我展开解释

我有一个 WinForm 文本框,它有一个默认值

0xFF
用于我要配置的寄存器

// 
// WriteProtectionControlBitOne
// 
this.WriteProtectionControlBitOne.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.WriteProtectionControlBitOne.Location = new System.Drawing.Point(245, 278);
this.WriteProtectionControlBitOne.Name = "WriteProtectionControlBitOne";
this.WriteProtectionControlBitOne.Size = new System.Drawing.Size(235, 22);
this.WriteProtectionControlBitOne.TabIndex = 9;
this.WriteProtectionControlBitOne.Text = "0xFF";

如果用户在不更改这些值的情况下按下 Flash 按钮,我需要从 TextBox 收集默认字节值。我为此使用了这段代码。

this.WriteProtectionControlBitZero.Text

这给了我一个字符串,这是一个错误,我试图解析文本,但问题是

Convert.Byte(this.WriteProtectionControlBitZero.Text.Trim(0,2))
Parse.Byte(this.WriteProtectionControlBitZero.Text.Trim(0,2))

这段代码收集了一个无符号整数的字符串表示,所以如果文本框的值是

0x12
,那么输出是
12
而不是
18
。当值是一个字母时,说
0xFC
然后程序无法编译。

c# .net parsing byte
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.