Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
6 / 6 / 0
Регистрация: 23.12.2015
Сообщений: 227
1

Кодировка текста

08.10.2018, 10:38. Показов 1764. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, не могу решить проблему, после выполнения программы
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private List<string> a = new List<string>();
 
        public object PathArcTextBox { get; private set; }
 
        private void button3_Click(object sender, EventArgs e)
        {
            //FolderBrowserDialog FBD = new FolderBrowserDialog();
            //FBD.ShowNewFolderButton = false;
            //if (FBD.ShowDialog() == DialogResult.OK)
           // {
              //  MessageBox.Show(FBD.SelectedPath);
                
            //}
            
            DirectoryInfo dir = new DirectoryInfo(@"C:\Users\Desktop\1");
             Directory.GetFiles(dir.ToString(), "*.mov", SearchOption.AllDirectories).ToList().ForEach(f => listBox1.Items.Add(f));
            Directory.GetFiles(dir.ToString(), "*.mov", SearchOption.AllDirectories).ToList().ForEach(f => a.Add(f));
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
 
            bool hasChanges = false;
 
            for (int i = 0; i < a.Count; i++)
            {
                string[] allines = File.ReadAllLines(a[i]);
 
                for (int j = 0; j < allines.Length; j++)
                {
 
                    if (!allines[j].StartsWith("20;")) continue;
                    var lineparts = allines[j].Split(';');
                    if (lineparts[1] == "" ){ lineparts[1] = "0" ;}
                    if (lineparts[6] == "") { lineparts[6] = "0"; }
                    if (lineparts[8] == "") { lineparts[8] = "0"; }
                    
                        // (lineparts[6] != null) continue;
                        //if (lineparts[8] != null) continue;
                        lineparts[1] = (int.Parse(lineparts[1]) + int.Parse(lineparts[6]) + int.Parse(lineparts[8])).ToString();
                    
                  
                    allines[j] = string.Join(";", lineparts);
                    hasChanges = true;
                }
                if (hasChanges) File.WriteAllLines(a[i], allines, Encoding.UTF8);
 
            }
            MessageBox.Show("end");
 
        }
 
 
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
 
        }
 
    }
}
вместо нормального текста выдает - "10;4001827;������ �;5408130693;;;;;;138,6;148,3;;317271;;2213;Canpol Sp. z o.o. / ���/;"

p.s. С примером если можно.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.10.2018, 10:38
Ответы с готовыми решениями:

Кодировка HEX текста
принимаю смс на модеме значения в string прилетают в таком виде string tmp =...

Неверная кодировка текста
Получаю сообщение с сайта. Оно в кракозяблах Умный декодер подсказывает, что он в 1251...

Кодировка из html уже в виде текста
Здравствуйте, так случилось что html код уже в виде строки(достался таким). Читал форум, но так и...

Кодировка текста при чтении из файла
Доброго всем времени суток! У меня есть текстовый файл, в котором уже что-то написано. Проблема в...

1
Эксперт .NETАвтор FAQ
10418 / 5148 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
08.10.2018, 10:42 2
Лучший ответ Сообщение было отмечено maksonech как решение

Решение

maksonech,
Используйте другую перегрузку метода ReadAllLines, которая принимает кодировку текста. И передавайте ей нужную кодировку:
C#
1
File.ReadAllLines(a[i], Encoding.UTF8);
или
C#
1
File.ReadAllLines(a[i], Encoding.Default);
1
08.10.2018, 10:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2018, 10:42
Помогаю со студенческими работами здесь

Кодировка текста при считывании из файла
Уважаемые профи! При считывании из текстового файла кирилица превращается в кракозябру,...

Кодировка текста исключений не равна кодировке консоля
Доброго времени суток! Сталкиваюсь уже 'n' раз с тем, что исключения в консольном приложении не...

Кодировка текста при шифровании с помощью RSA
Доброе Время суток, форумчане! Нужна ваша помощь! Столкнулся с одной проблемой! Недавно...

Кодировка текста, чтоб он был читабелен только программе
Как сделать программную кодировку текста. Чтоб он был читабелен только программе?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru