zoukankan      html  css  js  c++  java
  • C#字符串和byte之间的互相转化

    #region 字符串和Byte之间的转化
            /// <summary>
            /// 数字和字节之间互转
            /// </summary>
            /// <param name="num"></param>
            /// <returns></returns>
            public static int IntToBitConverter(int num)
            {
                int temp = 0;
                byte[] bytes = BitConverter.GetBytes(num);//将int32转换为字节数组
                temp = BitConverter.ToInt32(bytes, 0);//将字节数组内容再转成int32类型
                return temp;
            }
    
            /// <summary>
            /// 将字符串转为16进制字符,允许中文
            /// </summary>
            /// <param name="s"></param>
            /// <param name="encode"></param>
            /// <returns></returns>
            public static string StringToHexString(string s, Encoding encode ,string spanString)
            {
                byte[] b = encode.GetBytes(s);//按照指定编码将string编程字节数组
                string result = string.Empty;
                for (int i = 0; i < b.Length; i++)//逐字节变为16进制字符
                {
                    result += Convert.ToString(b[i], 16) + spanString;
                }
                return result;
            }
            /// <summary>
            /// 将16进制字符串转为字符串
            /// </summary>
            /// <param name="hs"></param>
            /// <param name="encode"></param>
            /// <returns></returns>
            public static string HexStringToString(string hs, Encoding encode)
            {
                string strTemp = "";
                byte[] b = new byte[hs.Length / 2];
                for (int i = 0; i < hs.Length / 2; i++)
                {
                    strTemp = hs.Substring(i * 2, 2);
                    b[i] = Convert.ToByte(strTemp, 16);
                }
                //按照指定编码将字节数组变为字符串
                return encode.GetString(b);
            }
            /// <summary>
            /// byte[]转为16进制字符串
            /// </summary>
            /// <param name="bytes"></param>
            /// <returns></returns>
            public static string ByteToHexStr(byte[] bytes)
            {
                string returnStr = "";
                if (bytes != null)
                {
                    for (int i = 0; i < bytes.Length; i++)
                    {
                        returnStr += bytes[i].ToString("X2");
                    }
                }
                return returnStr;
            }
            /// <summary>
            /// 将16进制的字符串转为byte[]
            /// </summary>
            /// <param name="hexString"></param>
            /// <returns></returns>
            public static byte[] StrToHexByte(string hexString)
            {
                hexString = hexString.Replace(" ", "");
                if ((hexString.Length % 2) != 0)
                    hexString += " ";
                byte[] returnBytes = new byte[hexString.Length / 2];
                for (int i = 0; i < returnBytes.Length; i++)
                    returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
                return returnBytes;
            }
            
            #endregion

    本文转自:https://www.cnblogs.com/liangxiaoking/p/5958456.html

  • 相关阅读:
    python做一个数独小游戏
    通过进程快照枚举进程的信息
    单向链表 malloc与free
    指针常量&指向常量的指针
    变量在不同区域的默认初始值
    数组指针和指针数组
    堆的首地址和堆的指针
    创建对象时,系统会自动调用构造函数和析构函数
    对象所占内存的大小与首地址
    范磊 C++ 第8章 指针
  • 原文地址:https://www.cnblogs.com/Duriyya/p/13640318.html
Copyright © 2011-2022 走看看