對ToString("X2 ")的理解

l_serein發表於2012-12-05

/// <summary>
        /// 將byte型轉換為字串
        /// </summary>
        /// <param name="arrInput">byte型陣列</param>
        /// <returns>目標字串</returns>
        private string ByteArrayToString(byte[] arrInput)
        {
            int i;
            StringBuilder sOutput = new StringBuilder(arrInput.Length);
            for (i = 0; i < arrInput.Length; i++)
            {
                sOutput.Append(arrInput[i].ToString("X2"));  
            }
            //將此例項的值轉換為System.String
            return sOutput.ToString();
        }

 

        /// <summary>
        /// 對接收到的資料進行解包(將接收到的byte型陣列解包為Unicode字串)
        /// </summary>
        /// <param name="recbytes">byte型陣列</param>
        /// <returns>Unicode編碼的字串</returns>
        public string disPackage(byte[] recbytes)
        {
            string temp = "";
            foreach (byte b in recbytes)
                temp += b.ToString("X2") + " ";//ToString("X2") 為C#中的字串格式控制符
            return temp;
        }

======================================================

ToString("X2") 為C#中的字串格式控制符

X為     十六進位制 
2為     每次都是兩位數

比如   0x0A ,若沒有2,就只會輸出0xA 
假設有兩個數10和26,正常情況十六進位制顯示0xA、0x1A,這樣看起來不整齊,為了好看,可以指定"X2",這樣顯示出來就是:0x0A、0x1A。 
參考網址: http://topic.csdn.net/t/20050709/17/4133902.html

相關文章