C#如何将字符串转成16进制数

环境是vs2005,如果是字符串转十进制很简单,举个例子
string a = "255";
int b = int.Parse(a);
但我没找到直接转十六进制的方法,如果给出的是字符串格式的十六进制数,如string a = "ff"
如何能得到int b = 0xff 或者b = 255?
当然字符串是做了限制的肯定是个十六进制的数

我自己也搜索了一下这个问题,看了很多解答,没有满意的答案,请注意一下:1.我要得到的是一个int,byte也行,但不是string;2.字符串本身就是数字的实际表现形式,不涉及机器内码,ff不能转成了66 66了

int a = int.Parse("ff", System.Globalization.NumberStyles.AllowHexSpecifier);

int a = Convert.ToInt32("ff", 16)
都行
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-09-27
Convert.toInt16();
不行就看看Convert的其他方法

C#如何将字符串转成16进制数
int a = Convert.ToInt32("ff", 16)都行

...英文、数字,那请问怎样转为对应的16进制数据?
byte[] data = System.Text.Encoding.UTF8.GetBytes("中文English0123456789"); 然后将byte[]转换为十六进制表示即可。.NET只提供了byte到16进制的方法,所以在这里新写了一个byte[]到16进制的方法:string Hex(byte[] data){ string hex = ""; foreach (byte b in data) { h...

请问c#中如何将十进制数的字符串转化成十六进制数的字符串?
Console.WriteLine("十进制166的十六进制表示: "+Convert.ToString(166, 16));\/\/二进制转十进制 Console.WriteLine("二进制 111101 的十进制表示: "+Convert.ToInt32("111101", 2));\/\/八进制转十进制 Console.WriteLine("八进制 44 的十进制表示: "+Convert.ToInt32("44", 8));\/\/十六进制...

C# 十进制字节 转换成16进制字节。
public static String c10_c16(int num){ String result="";for (int i = 1; i < num; i*=16) { int temp=num\/(i)%16;String t="";switch (temp) { case 10:t="A";break;case 11:t="B";break;case 12:t="C";break;case 13:t="D";break;case 14:t="E";break;case...

C# 怎么把汉字转换成16进制
先把字符串转成byte数组,再把byte数组中的每个元素以16进制形式的字符串保存到字符串数组中,再根据字符串数组中的每个元素转换回byte数组,再根据byte数组生成字符串 string str = "你好";byte[] bytes = Encoding.Unicode.GetBytes(str);string[] strArr = new string[bytes.Length];Console....

c#把char改成16进制显示固定两位01
在 C# 中,可以使用 Convert.ToString() 方法将 char 类型转换为 16 进制字符串。然后使用 String.PadLeft() 方法在转换后的字符串左侧添加 0,使其显示固定的两位。示例代码如下:这段代码会将字符'A'转换成16进制'41',并用0填充成'41' 显示在控制台上 需要注意的是,这个方法只能在字符的 ...

C#如何将字符串转化为十六进制数组
for(int i=0;i<str.Length\/2;i=i+2){ byte[i]=Convert.ToByte(str.Substring(i*2, 2), 16);}

怎么将C# 中textbox的字符串转为16进制 然后以16进制相加?
我想你搞错了,转16进制不是给每一个字符加上0x就表示转化为16进制,0x只是表示这个数为16进制表示法。byte[] b = Encoding.ASCII.GetBytes(TextBox1.Text);\/\/按照指定编码将string编程字节数组 string result = string.Empty;for (int i = 0; i < b.Length; i++)\/\/逐字节变为16进制字符 ...

C#中字符串转换成16进制BYTE数组
byte[] byts = new System.Text.UnicodeEncoding().GetBytes("123");这样byts这个byte数组变量就是"123"转换的byte数组 如果你是想将整个"123"数字字符串变成16进制再求这个16进制数的byte值的话 就可以这样写 byte byts=(byte)Convert.ToInt32("123",16);如果你想将字符串数组中的内容转换成...

C#里如何对位数很长的数字(已处理为字符串)转化为16进制
暂时只能想到一个效率很低的思路,这么大的数要直接转成16进制的话算法是很麻烦的,建议先转成2进制,用短除法(除法的本质是多次减法,当然如果题主算法好可以用蒙哥马利算法来直接做除法。当作 string 类型来计算,先截取最后一位,看够不够减2,够了就把减去的结果替换掉 string 最后一位;不够就...

相似回答