Example #1
0
        /// <summary>
        /// 对byte数据进行转码 。
        /// columns为列名,多个逗号隔开;encodestr为编码格式,如UTF-8,Unicode,GBK
        /// </summary>
        private void Encode(IEnumerable <dynamic> items, string columns, string encodestr)
        {
            if (String.IsNullOrEmpty(columns) || String.IsNullOrEmpty(encodestr))
            {
                return;
            }
            if (items == null)
            {
                return;
            }
            var cs     = columns.Replace(",", ",").Split(',');
            var encode = System.Text.Encoding.GetEncoding(encodestr);

            foreach (var item in items)
            {
                try
                {
                    DynamicEx obj = (DynamicEx)item;
                    foreach (var c in cs)
                    {
                        var value = obj.Get(c) as byte[];
                        obj.Set(c, encode.GetString(value).Replace("\0", ""));
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("转码异常" + e.Message);
                }
            }
        }