我在c#中编程并尝试将控制台输入转换为Hex。 输入是1-256之间的数字(例如125) 转换后的数字应如下所示:
fpr 125: 0x31, 0x32, 0x35
我已经尝试使用以下方法解决问题:
byte[] array = Encoding.ASCII.GetBytes(Senke)
但它始终显示byte[]
。
我需要这个转换来创建一个APDU,通过我的智能卡应用程序在我的智能卡上写信息,最终的Apdu将如下所示:
{ 0xFF, 0xD6, 0x00, 0x02, 0x10, 0x31, 0x32, 0x35}
我希望有人能帮助我。
答案 0 :(得分:0)
要将整数转换为十六进制,请使用:(可以找到更多信息here)
int devValue = 211;
string hexValue = decValue.ToString("X");
进一步详细说明,以下内容将产生您想要的输出:
string input = "125"; // your input, could be replaced with Console.ReadLine()
foreach (char c in input) {
int decValue = (int)c; // Convert ASCII character to an integer
string hexValue = decValue.ToString("X"); // Convert the integer to hex value
Console.WriteLine(hexValue);
}
代码会产生以下输出:
31
32
35
答案 1 :(得分:0)
以下是一个例子:
int d = 65; // Capital 'A'
string h= d.ToString("X"); // to hex
int d2 = int.Parse(h, System.Globalization.NumberStyles.HexNumber); //to ASCII