Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Kenedy
12 / 13 / 5
Регистрация: 11.10.2012
Сообщений: 121
1

Encoding и цикл for

25.08.2013, 22:35. Просмотров 591. Ответов 4
Метки нет (Все метки)

В чём ошибка данного кода?
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
if (richTextBox1.Text != "")
{
    String s = String.Empty;
    for (int i = 0; i < richTextBox1.Lines.Length; i++)
    {
        s = richTextBox1.Lines[i];
        byte[] toEncodeAsBytes = System.Text.Encoding.UTF7.GetBytes(s);
        string returnValue = System.Convert.ToBase64String(toEncodeAsBytes);
        richTextBox2.Text += returnValue + Environment.NewLine;
    }
    for (int g = 0; g < richTextBox2.Lines.Length; g++)
    {
        s = richTextBox2.Lines[g];
        richTextBox2.Text = "";
        byte[] toEncodeAsBytes2 = System.Text.Encoding.ASCII.GetBytes(s);
        string returnValue2 = System.Convert.ToBase64String(toEncodeAsBytes2);
        richTextBox2.Text += returnValue2 + Environment.NewLine;
    }
    for (int h = 0; h < richTextBox2.Lines.Length; h++)
    {
        s = richTextBox2.Lines[h];
        richTextBox2.Text = "";
        byte[] toEncodeAsBytes3 = System.Text.Encoding.Unicode.GetBytes(s);
        string returnValue3 = System.Convert.ToBase64String(toEncodeAsBytes3);
        richTextBox2.Text += returnValue3 + Environment.NewLine;
    }
Дело в том что когда я жмакаю кодировать и ввожу, некие строки он оставляет мне почему-то richTextBox2 пустым))

Добавлено через -12 минут
И при вот этом участке кода всё норм, или если всё это делать с 5 разными боксами):
C#
1
2
3
4
5
6
7
8
9
10
if (richTextBox1.Text != "")
{
    String s = String.Empty;
    for (int i = 0; i < richTextBox1.Lines.Length; i++)
    {
        s = richTextBox1.Lines[i];
        byte[] toEncodeAsBytes = System.Text.Encoding.UTF7.GetBytes(s);
        string returnValue = System.Convert.ToBase64String(toEncodeAsBytes);
        richTextBox2.Text += returnValue + Environment.NewLine;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2013, 22:35
Ответы с готовыми решениями:

Encoding: перекодировка русских букв
Доброго времени суток! Есть кусок кода string welcome = &quot;Привет Welcome&quot;;...

Преобразования с использованием System.Encoding
Вобщем я перехожу на С# и столкнулся с проблемой преобразования. В статье...

Преобразовать String в Byte[] без использования Encoding
Всем доброго времени суток :) В общем возникла &quot;проблема&quot; имеем код - byte...

Чем отличается Encoding.Unicode от Encoding.UTF16
я вот что то не пойму чем отличается Encoding.Unicode от Encoding.UTF16? и...

Почему реализация ГОСТ 89 работает с Encoding.UTF8 и не работает с Encoding.ASCII?
Класс GOSTCrypto //S-блок protected byte S_Block = { ...

4
Diman777
360 / 332 / 108
Регистрация: 12.02.2013
Сообщений: 653
25.08.2013, 22:45 2
C#
1
2
3
4
5
6
7
8
9
10
11
for (int g = 0; g < richTextBox2.Lines.Length; g++)
                {
                    s = richTextBox2.Lines[g];
 
                    richTextBox2.Text = ""; 
                  //  !!! Удаляется весь текст и поэтому Lines[1], Lines[2] и следующие циклы работают с пустыми строками
                    byte[] toEncodeAsBytes2 = System.Text.Encoding.ASCII.GetBytes(s);
 
                    string returnValue2 = System.Convert.ToBase64String(toEncodeAsBytes2);
                    richTextBox2.Text += returnValue2 + Environment.NewLine;
                    }
0
Kenedy
12 / 13 / 5
Регистрация: 11.10.2012
Сообщений: 121
25.08.2013, 22:57  [ТС] 3
Цитата Сообщение от Diman777 Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
9
10
11
for (int g = 0; g < richTextBox2.Lines.Length; g++)
                {
                    s = richTextBox2.Lines[g];
 
                    richTextBox2.Text = ""; 
                  //  !!! Удаляется весь текст и поэтому Lines[1], Lines[2] и следующие циклы работают с пустыми строками
                    byte[] toEncodeAsBytes2 = System.Text.Encoding.ASCII.GetBytes(s);
 
                    string returnValue2 = System.Convert.ToBase64String(toEncodeAsBytes2);
                    richTextBox2.Text += returnValue2 + Environment.NewLine;
                    }
он стирается, дабы удалить оттуда все линии, но тут же добавляется новое.. в чём проблема не секу //сорь за мою тупость)

Добавлено через 3 минуты
Даже если так не пашет((
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
if (richTextBox1.Text != "")
            {
                String s = String.Empty;
                for (int i = 0; i < richTextBox1.Lines.Length; i++)
                {
                    s = richTextBox1.Lines[i];
                    byte[] toEncodeAsBytes = System.Text.Encoding.UTF7.GetBytes(s);
                    string returnValue = System.Convert.ToBase64String(toEncodeAsBytes);
                    richTextBox2.Text += returnValue + Environment.NewLine;
                }
                for (int g = 0; g < richTextBox2.Lines.Length; g++)
                {
                    s = richTextBox2.Lines[g];
                    byte[] toEncodeAsBytes2 = System.Text.Encoding.ASCII.GetBytes(s);
                    string returnValue2 = System.Convert.ToBase64String(toEncodeAsBytes2);
                    richTextBox2.Text = "";
                    richTextBox2.Text += returnValue2 + Environment.NewLine;
                }
                for (int h = 0; h < richTextBox2.Lines.Length; h++)
                {
                    s = richTextBox2.Lines[h];
                    byte[] toEncodeAsBytes3 = System.Text.Encoding.Unicode.GetBytes(s);
                    string returnValue3 = System.Convert.ToBase64String(toEncodeAsBytes3);
                    richTextBox2.Text = "";
                    richTextBox2.Text += returnValue3 + Environment.NewLine;
                }
0
Diman777
360 / 332 / 108
Регистрация: 12.02.2013
Сообщений: 653
25.08.2013, 23:17 4
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
            if (richTextBox1.Text != "")
            {
                String s = String.Empty;
                string str = "";
 
                for (int i = 0; i < richTextBox1.Lines.Length; i++)
                {
                    s = richTextBox1.Lines[i];
                    byte[] toEncodeAsBytes = System.Text.Encoding.UTF7.GetBytes(s);
                    string returnValue = System.Convert.ToBase64String(toEncodeAsBytes);
                    richTextBox2.Text += returnValue + Environment.NewLine;
                }
                
                for (int g = 0; g < richTextBox2.Lines.Length; g++)
                {
                    s = richTextBox2.Lines[g];
                    byte[] toEncodeAsBytes2 = System.Text.Encoding.ASCII.GetBytes(s);
                    string returnValue2 = System.Convert.ToBase64String(toEncodeAsBytes2);
                    str += returnValue2 + Environment.NewLine;
                }
                richTextBox2.Text = "";
                richTextBox2.Text = str;
 
 
                str = "";
                for (int h = 0; h < richTextBox2.Lines.Length; h++)
                {
 
                    s = richTextBox2.Lines[h];
                    byte[] toEncodeAsBytes3 = System.Text.Encoding.Unicode.GetBytes(s);
                    string returnValue3 = System.Convert.ToBase64String(toEncodeAsBytes3);
                    str += returnValue3 + Environment.NewLine;
                }
                richTextBox2.Text = "";
                richTextBox2.Text = str;
            }
Добавлено через 6 минут
Напомни, что должна делать твоя программка? Насколько я понял вводишь текст в первый бокс... текст перекодируется и вставляется во второй бокс... а далее что должно быть?
1
Kenedy
12 / 13 / 5
Регистрация: 11.10.2012
Сообщений: 121
25.08.2013, 23:23  [ТС] 5
Цитата Сообщение от Diman777 Посмотреть сообщение
Напомни, что должна делать твоя программка? Насколько я понял вводишь текст в первый бокс... текст перекодируется и вставляется во второй бокс... а далее что должно быть?
Сначала ты вводишь стандартный текст в первый бокс, далее он кодируется в UTF7, далее берётся закодированный в UTF7 и кодируется в ASCII, далее скодированный кодируется ещё раз в Unicode
0
25.08.2013, 23:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.08.2013, 23:23

Создать программу по всем 3 видам циклов...цикл с параметром,цикл с условием,цикл,и цикл с предусловием...
Найти сумму чисел 1 в квадрате до 10 c квадрате...операцию возведению в степень...

Iphone encoding
есть сайтик, на нем формочка. в венде работает норм. Однако, если эту формочку...

SaveToFile и Encoding
Memo1-&gt;Lines-&gt;SaveToFile() принимает 2 параметра - 1 обязательный параметр пути...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru