1.獲取‘字符串’中的每個字符的十六進制值。
2.獲取與十六進制字符串中的每個值對應的字符。、
3.將十六進制string轉換為整形。
4.將十六進制string轉換為浮點型。
5.將字節數組轉換為十六進制string。
此案例輸入中的每個字符的是十六進制值。先將string分析為字符數組,然后對每個字符調用Inter32(char)以獲取相應的數字值。
static void Main(string[] args) { string input = "Hello World!"; char[] values = input.ToCharArray(); foreach(char letter in values){ int value = Convert.ToInt32(letter); string hexoutput = string.Format("{0:X}",value); //0 表示占位符 x或X表示十六進制 12345.ToString("x"); //生成 3039 (16進制) Console.WriteLine("Hexadecimal value of{0} is {1}", letter, hexoutput); } }
//擴展:
//12345.ToString("n"); //生成 12,345.00
//12345.ToString("C"); //生成 ¥12,345.00
//12345.ToString("e"); //生成 1.234500e+004
//12345.ToString("f4"); //生成 12345.0000
//12345.ToString("x"); //生成 3039 (16進制)
//12345.ToString("p"); //生成 1,234,500.00%
案例分析十六進制值的string對應輸出對應的字符。首先將split(char[])方法以獲取每個十六進制作為數組中的單個string。然后調用ToInt32(string,int32)以將十六進制轉換為表示為int的十進制值。第一種方式使用ConvertFromUtf32(int32),它將對應於整型的字符作為string返回。第二種方法是將int顯示轉換為char
string hexValues="48 65 6C 6C 6F 20 57 6F 72 6C 64 21"; string[] hexvaluesplit=hexValues.Split(' '); foreach(string hex in hexvaluesplit) { int value=Convert.ToInt32(hex,16); string stringvalue = char.ConvertFromUtf32(value); char charValue = (char)value; Console.WriteLine("hexadecimal value = {0}, int value = {1}, char value = {2} or {3}", hex, value, stringvalue, charValue); }
案例演示了將十六進制string轉換為整數的另一種方法,即調用Int32.Parse(String,NumberStyles)方法
string hexString = "48"; int num = Int32.Parse(hexString,System.Globalization.NumberStyles.HexNumber); Console.WriteLine(num);
