从int转换为十六进制

时间:2011-01-02 19:17:08

标签: c# string hex

我想将一些int转换为十六进制,但我得到的是这样的东西:“???? plL4?h ?? N {”来自12345.为什么?

int t = 12345;

System.Security.Cryptography.MD5CryptoServiceProvider ano = new
System.Security.Cryptography.MD5CryptoServiceProvider();

byte[] d_ano = System.Text.Encoding.ASCII.GetBytes(t.ToString());
byte[] d_d_ano = ano.ComputeHash(d_ano);

string st_data1 = System.Text.Encoding.ASCII.GetString(d_d_ano);
string st_data = st_data1.ToString();

我在窗口中使用它,而不是在控制台中。

6 个答案:

答案 0 :(得分:9)

要将数字转换为十六进制,只需使用:

integerValue.ToString("X")

答案 1 :(得分:5)

如果您想要做的只是转换,为什么要使用加密?

对于实际转化,请使用此代码段

int myNumber = 42;
String myHexNumber = myNumber.ToString("X");

答案 2 :(得分:3)

value.ToString("X") is all you need

答案 3 :(得分:3)

int t = 12345;
Console.WriteLine("{0:X4}", t);

没有

答案 4 :(得分:2)

使用Convert.ToString(intValue, 16);

修改:这种方式可用于Convert.ToString(intValue, 2)

等所有基础

答案 5 :(得分:2)

看起来您想将int转换为十六进制字符串。

int t = 12345;
string hex = t.ToString("x");