socket通訊中需要用到的一些資料類型轉換的方法

來源:互聯網
上載者:User

     在上次做的項目中,使用到了Socket進行資料通訊,其中用到了一些資料類型進行轉換的方法,現在

貼出來給大家分享下,希望大家多給些意見,能進一步幫忙完善更好了,先謝過了。

 

 /// <summary>
        /// 整數轉為Byte【】
        /// 低位在前,高位在後
        /// </summary>
        /// <param name="r">要轉換的整數</param>
        /// <param name="digits">Byte位元</param>
        /// <returns></returns>
        private static byte[] GetBytesFromInt(int r, int digits)
        {
            byte[] bt = new byte[digits];
            int j=8;
            for (int k = 0; k < digits; k++)
            {
                j=8*k;
                bt[k]=(byte)(r>>j);
            }
            return bt;
        }
     
        /// <summary>
        /// 將字元轉換為Byte數組
        /// </summary>
        /// <param name="s"></param>
        /// <returns></returns>
        private static byte[] GetBytesFromStr(string s)
        {
            byte[] bt = Encoding.UTF8.GetBytes(s);
            return bt;
        }
        /// <summary>
        /// 計算字元傳編碼時的位元組長度
        /// </summary>
        /// <param name="s"></param>
        /// <returns></returns>
        private static int GetBytesLengthFromStr(string s)
        {
            int iLength = Encoding.UTF8.GetByteCount(s);
            return iLength;
        }

        /// <summary>
        /// 將Byte數組轉化為Int16
        /// </summary>
        /// <param name="bt"></param>
        /// <param name="index"></param>
        /// <returns></returns>
        private static Int16 GetInt16FromBytes(byte[] bt)
        {
            Int16 s = BitConverter.ToInt16(bt,0);
            return s;
        }

        /// <summary>
        /// 將Byte數組轉化為Int32
        /// </summary>
        /// <param name="bt"></param>
        /// <param name="index"></param>
        /// <returns></returns>
        private static int GetIntFromBytes(byte[] bt)
        {
            int s = BitConverter.ToInt32(bt, 0);
            return s;
        }

        /// <summary>
        /// 將Byte數組轉化為String
        /// </summary>
        /// <param name="bt"></param>
        /// <param name="index"></param>
        /// <returns></returns>
        private static string GetStrFromBytes(byte[] bt)
        {
            string s = BitConverter.ToString(bt, 0);
            return s;
        }

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.