String, byte, finishing the conversion dictionary

public   class Tool 
    { 
       
        /// /Donet2.0 need to add a reference 
        // generate object information from a Json string 
        public  static  String ObjectToJson ( Object obj) 
        { 
            return JsonConvert.ToString (obj); 
        } 
        // information from a target string generation Json 
        public  static  Object JsonToObject ( String JSONString, Object obj) 
        { 
            return JsonConvert.DeserializeObject (JSONString, obj.GetType ()); 
        } 

        // String jsonText = "{\" Zone \ ": \" Haidian \ ", \" zone_en \ ": \" Haidian \ "}";
         //Tool jo = (Tool)JsonConvert.DeserializeObject(jsonText);
        //string zone = jo["zone"].ToString();
        //string zone_en = jo["zone_en"].ToString();
        //var sr = JsonConvert.DeserializeAnonymousType<Resu>(jsonText, new Resu());

        public byte[] StringToByte(string value)
        {
            return Encoding.UTF8.GetBytes(value);
            //return Text.Encoding.Default.GetBytes (value);
        }
        public string ByteToString(byte[] arr)
        {
            return Encoding.UTF8.GetString(arr);
            //return Text.Encoding.UTF8.GetString (arr, 0, arr.Length);
        }


        /// <summary>
        /// 字典转json字符串
        /// </summary>
        /// <param name="myDic"></param>
        /// <returns></returns>
        public static string DictionaryToJson(Dictionary<string, string> myDic)
        {
            string jsonStr = JsonConvert.SerializeObject(myDic);
            return jsonStr;
        }

        /// <summary>
        /// json转字典
        /// </summary>
        /// <param name="jsonStr"></param>
        /// <returns></returns>
        public static Dictionary<string, string> JsonToDictionary(string jsonStr)
        {
            Dictionary<string, string> dic = JsonConvert.DeserializeObject<Dictionary<string, string>>(jsonStr);
            return dic;
        }
        #region Parse///<summary>/// 参数解码///</summary>///<param name="data "> to be decoded byte array

         

        

         

         </param>

        /// <param name="length">从0位置开始解码的长度</param>

        /// <returns>解码结果</returns>

        public static Dictionary<string, string> ParamDecoding(byte[] data, int length)

        {

            string outs = Encoding.UTF8.GetString(data, 0, (int)length);

            Dictionary<string, string> pram = new Dictionary<string, string>();

            string[] list = outs.Split("|".ToArray(), StringSplitOptions.RemoveEmptyEntries);

            foreach (string item in list)

            {

                string[] x = item.Split("=".ToArray(), StringSplitOptions.RemoveEmptyEntries);

                pram.Add(WidthDecoding(x[0]), WidthDecoding(x[1]));

            }

            return pram;

        }

        /// <summary>

        /// 参数编码

        /// </summary>

        /// <param name="param">要编码的参数集合</param>

        /// <returns>编码的结果字节</returns>

        public static byte[] ParamEcoding(Dictionary<string, string> param)

        {

            StringBuilder bf = new StringBuilder();

            foreach (string item in param.Keys)

            {

                bf.Append(WidthEcoding(item));

                //bf.Append(item);

                bf.Append("=");

                bf.Append(WidthEcoding(param[item]));

                bf.Append("| " ); 

                // bf.Append (List [Item]); 

            } 

            byte [] = outs Encoding.UTF8.GetBytes (bf.ToString ()); 

            return outs; 

        } 

        ///  <Summary> 

        /// paragraph word decoding section 

        ///  </ Summary> 

        ///  <param name = "p_Value"> to be decoded wide character encoding: (eg \ u0efx \ u094f) </ param> 

        ///  <Returns> </ Returns> 

        public  static  String WidthDecoding ( String p_Value) 

        { 

            // String _ReturnText = "";

            StringBuilder _ReturnText = new StringBuilder();

            string[] _ValueList = p_Value.Split(new char[] { '\\', 'u' }, StringSplitOptions.RemoveEmptyEntries);

            for (int i = 0; i != _ValueList.Length; i++)

            {

                char _ValueChar = Convert.ToChar(Convert.ToUInt16(_ValueList));

                _ReturnText.Append(_ValueChar.ToString());

            }

            return _ReturnText.ToString();

        }

        /// <summary>

        /// 宽字符编码

        /// </summary>

        /// <param name="s">要编码的字符串</param>

        /// <returns>结果(如:\u0efx\u094f)</returns>

        public static string WidthEcoding(string s)

        {

            StringBuilder outs = new StringBuilder();

            foreach (char item in s)

            {

                outs.Append(string.Format("}", (int)item));

            }

            return outs.ToString();

        }

        #endregion
    }

Guess you like

Origin www.cnblogs.com/ruiyuan/p/11951279.html