zoukankan      html  css  js  c++  java
  • uuencode 解码

    class Program
        {
            static void Main(string[] args)
            {
                var fileTxt = File.ReadAllText(@"D:REPORT_WIP_20201103.CSV");
                var decodeTxt = UuencodeDecode(fileTxt);
                Console.WriteLine(decodeTxt);
            }
    
            private static string UuencodeDecode(string encTxt)
            {
                StringBuilder stringBuilder = new StringBuilder();
                string[] lines = encTxt.Split(new string[] { "
    " }, StringSplitOptions.None);
                //排除首行begin 尾行end
                for (int i = 1; i < lines.Length - 1; i++)
                {
                    if (lines[i].Length > 0)
                    {
                        byte[] byteArray = System.Text.Encoding.ASCII.GetBytes(lines[i].Substring(1));
                        stringBuilder.Append(UuencodeDecodeByByte(byteArray));
                    }
                }
                return stringBuilder.ToString();
            }
    
            private static string UuencodeDecodeByByte(byte[] bytes)
            {
                List<char> list = new List<char>();
                List<byte> bits = new List<byte>();
                for (int i = 0; i < bytes.Length; i++)
                {
                    var strX2 = Convert.ToString(bytes[i] - 32, 2).PadLeft(6, '0');
                    //"`"ASCII 96-32=64 toX2 1000000 (7位)截取后6位
                    if (strX2.Length > 6)
                    {
                        strX2 = strX2.Substring(strX2.Length - 6, 6);
                    }
                    list.AddRange(strX2.ToCharArray());
                }
                int iGroupNum = list.Count / 8;
                for (int i = 0; i < iGroupNum; i++)
                {
                    string strX2 = new string(value: list.Skip(8 * i).Take(8).ToArray());
                    bits.Add((byte)(Convert.ToInt32(strX2, 2)));
                }
                return System.Text.Encoding.ASCII.GetString(bits.ToArray());
            }
        }
    

     

  • 相关阅读:
    PHP独立环境安装与文件配置
    变量常量区别及用法
    PHP初步了解
    js dom操作基本单词和格式
    PHP 类的继承 访问修饰符 重写
    PHP面向对象基本概念 类与对象 静态属性 构造/析构方法
    人员定位系统项目整理
    json
    租房子ajax
    省市区三级联动用ajax实现
  • 原文地址:https://www.cnblogs.com/Lv2014/p/13925294.html
Copyright © 2011-2022 走看看