Функция обрабатывает не весь файл

возникла такая проблема. Мне нужно считать файл затем с с помощью функции закодировать его и раскодировать обратно. Я не понимаю почему функция обрабатывает файл не полностью.

Функция которая кодирует файл:

static List<int> ascii = new List<int>();

        static List<int> Coder_Str(List<int> ascii_str)
        {
            int n = ascii_str.Count, N = ascii.Count, k;
            List<int> code = new List<int>(ascii_str);
            Console.WriteLine('\n' + "Кодировка : ");
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < N; j++)
                {
                    if (ascii[j] == ascii_str[i])
                    {
                        code[i] = j;
                        k = ascii[j];
                        ascii.RemoveAt(j);
                        ascii.Insert(0, k);
                        break;
                    }
                }
                Console.Write(code[i] + " ");
            }
            Console.WriteLine();
            ascii_str = code;
            return code;
        }



  static List<int> Create(string s, List<int> ascii_str)
        {
            byte[] a = Encoding.Default.GetBytes(s);
            for (int i = 0; i < 256; i++)
                ascii.Add(i);
            for (int i = 0; i < ascii_str.Count; i++)
            {
                ascii_str[i] = Convert.ToInt32(a[i]);
                Console.Write(ascii_str[i] + " ");
            }
            return ascii_str;
        }

Чтение и кодирование файла:

static void Main(string[] args)
        {
            string filename = "lab.txt";
            string str = File.ReadAllText(filename);
            // string str = "Hello world";

            List<int> a_str = new List<int>(str.Length);
            for (int i = 0; i < str.Length; i++)
                a_str.Add(0);
            //List<string> c_str = new List<string>(str.Length);
            Console.WriteLine("First string no encoded: " + str);
            a_str = Create(str, a_str);
            a_str = Coder_Str(a_str); ;

            /*string s = "";
            for (int i = 0; i < str.Length; i++)
            {
                s += F_Two(a_str[i]);
            }
            Console.WriteLine("coded: " + s);
            Console.WriteLine(s.Length);
            a_str = Encode_F_Two(s);
            Console.WriteLine(DeCoder_Str(a_str));
            Console.ReadLine();

            */


            string[] s = new string[100000];
            for (int i = 0; i < str.Length; i++)
            {
                s[i] = F_Two(a_str[i]);
                a_str[i] = Encode_F_Two(s[i]);
                Console.WriteLine("coded: " + s[i]);
                a_str[i] = Encode_F_Two(s[i]);
                
            }
            
            Console.WriteLine(s.Length);
            
            Console.WriteLine(DeCoder_Str(a_str));
            Console.ReadLine();


        }
    }

Считывание файла:

введите сюда описание изображения

Декодирование:

Чтение файла

Как видно из второго фото, файл почему то прочитался не полностью.


Ответы (0 шт):