将十六进制字符串转换为C#中的数值
本文关键字:十六进制 字符串 转换 | 更新日期: 2023-09-27 18:28:43
我的表单上有一个文本框。我想将"0x31"作为字符串写入文本框,然后当我单击按钮时,我想将此字符串转换为十六进制值0x31。
如何将此字符串转换为十六进制值?
int i = Convert.ToInt32("0x31", 16);
Console.WriteLine("0x" + i.ToString("X2"))
string hexValues = "48 65 6C 6C 6F 20 57 6F 72 6C 64 21";
string[] hexValuesSplit = hexValues.Split(' ');
foreach (String hex in hexValuesSplit)
{
// Convert the number expressed in base-16 to an integer.
int value = Convert.ToInt32(hex, 16);
// Get the character corresponding to the integral value.
string stringValue = Char.ConvertFromUtf32(value);
char charValue = (char)value;
Console.WriteLine("hexadecimal value = {0}, int value = {1}, char value = {2} or {3}",
hex, value, stringValue, charValue);
}
示例来自:http://msdn.microsoft.com/en-us/library/bb311038.aspx
字符串十六进制值是一个值的表示。实际字符串值可以转换为您喜欢的任何值(float、int等)有几种方法可以进行转换。简单示例:
// convert to int from base 16
int value = Convert.ToInt32(hex, 16);
十六进制只是一个值的表示,它本身不是一个值。
这个页面将告诉你关于在C#中解析和显示十六进制所需要知道的一切
http://msdn.microsoft.com/en-us/library/bb311038.aspx
首先要清除:字符串为十六进制格式,当您将其转换为值时,它只是一个数字值,而不是十六进制。
使用带有NumberStyle.HexNumber
说明符的Int32.Parse
方法:
string input = "0x31";
int n;
if (input.StartsWith("0x")) {
n = Int32.Parse(input.Substring(2), NumberStyles.HexNumber);
} else {
n = Int32.Parse(input);
}
注意,十六进制只是一个值的表示-所以你真正要问的是如何从字符串中解析值-这样做:
int val = int.Parse("0x31", NumberStyles.HexNumber);
val现在包含一个十六进制值为0x31的int。