我想问一个关于从Windows窗体将字符串转换为字节的问题,我已经尝试了几种方法来完成这些操作,虽然将字符串转换为16进制可以成功转换为字符串,但是我需要将其转换为16进制字节的问题因为API仅获取字节。
这是下面的转换:
string getTxtString = txtString.text;
int convertToInt = int32.Parse(getTxtString);
string hexString = convertToInt.toString("X");
//我尝试使用X2,它将获得两位数,例如0A
在这种情况下如何转换为十六进制字节,或者请提供其他解决方案。
例如: 11 = 0A
0A是下面的转换:
int convertToInt = int32.Parse(getTxtString);
string hexString = convertToInt.toString("X2");
从上面的转换中只能得到0A。 Api需要完整的 Hex 值,例如0x0A,我需要向API发送0x0A。
答案 0 :(得分:0)
在提供<AceEditor
readOnly
value={code || ''}
mode="javascript"
name="UNIQUE_ID_OF_DIV"
editorProps={{ $blockScrolling: true }}
theme="github"
showError={false}
width='auto'
height={height}
annotations={null} />
时尝试Convert.ToByte(在您的情况下为fromBase
)
16
如果您实际上已经编码了 // "0A" (string) -> 0x0A == 10 == 0b00001010 (byte)
byte result = Convert.ToByte(hexString, 16);
...
SomeApiMethod(..., result, ...);
(例如Int32
),并且想要获取最后一个字节:
"FF120A"
请注意, // "FF120A" (or "0xFF120A") -> 0xFF120A (int) -> 0x0A (byte)
// unchecked - we don't want OverflowException on integer overflow
byte result = unchecked((byte)Convert.ToInt32(hexString, 16));
...
SomeApiMethod(..., result, ...);
(例如byte
)始终相同,它的字符串表示形式可以变化:
0x0A