我想将一些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();
我在窗口中使用它,而不是在控制台中。
答案 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");