在十六進制字符串與數值類型之間轉換


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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM