c#string,Int,float与16进制之间的转换

    技术2022-07-12  74

    字符串转16进制数据

    class Program { static void Main(string[] args) { string input = "Hello World!"; char[] values = input.ToCharArray(); foreach (char c in values) { int value = Convert.ToInt32(c); Console.WriteLine("Hexadecimal value of {0} is {1:X}", c, value); } Console.ReadKey(); } }

    运行结果

    16进制数据转字符串

    class Program { static void Main(string[] args) { string input = "48 65 6C 6C 6F 20 57 6F 72 6C 64 21"; //Hello World! string[] sArr = input.Split(' '); string outputStr = ""; foreach (string s in sArr) { int v = Convert.ToInt32(s, 16); outputStr += (char)v; } Console.WriteLine(outputStr); Console.ReadKey(); } }

    运行结果 16进制数据转int

    class Program { static void Main(string[] args) { string hexString = "ABCD"; int num = Int32.Parse(hexString, System.Globalization.NumberStyles.HexNumber); Console.WriteLine(num); Console.ReadKey(); } }

    运行结果 16进制数据转float

    static void Main(string[] args) { string hexString = "43480170"; uint num = uint.Parse(hexString, System.Globalization.NumberStyles.AllowHexSpecifier); byte[] floatVals = BitConverter.GetBytes(num); float f = BitConverter.ToSingle(floatVals, 0); Console.WriteLine("{0}", f); Console.ReadKey(); }

    运行结果

    字节数组转换为16进制字符串

    static void Main(string[] args) { byte[] vals = { 0x01, 0xAA, 0xB1, 0xDC, 0x10, 0xDD }; string str = BitConverter.ToString(vals); Console.WriteLine(str); str = BitConverter.ToString(vals).Replace("-", ""); Console.WriteLine(str); Console.ReadKey(); }

    运行结果

    Processed: 0.009, SQL: 9