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

Почему в Visual Studio букве "З" соответствует значение 135, а в таблице Юникода - 1047?

18.04.2020, 13:52. Показов 1232. Ответов 5

Author24 — интернет-сервис помощи студентам
Почему в Visual Studio букве "З" соответствует значение 135, а в таблице Юникода - 1047? Сразу извиняюсь новичок в C#, хотелось бы разобраться
Вот код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.IO;
using System.Text;
 
 
public class Decoder
{
    public static void Main()
    {
        int count = 0;
        Stream str = Console.OpenStandardInput();
 
        while (true)
        {
            int x = str.ReadByte();
            Console.WriteLine(x);
            if (x == -1) break;
            count++;
        }
        Console.WriteLine(count);
 
    }
}
Вот что выводит:
Зима
135
168
172
160
13
10
Приложил скрин из таблицы Юникода
Изображения
 
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2020, 13:52
Ответы с готовыми решениями:

Почему у меня MASM32 не правильно работает в Visual studio когда уже установлен внутри настройки visual studio code ?
Почему у меня MASM32 не правильно работает в Visual studio когда уже установлен внутри настройки...

Каждой букве алфавита соответствует двузначное число
14 70 14 65 36 59 47 82 34, 40 58 40 58 42 36. 17 95 34 45 67 34-65 40 17 95 34 45 67 34 32 36 45...

Вывести информацию о звуке, который соответствует букве
C клавиатуры вводится буква русского алфавита. Если эта буква является согласной, то выведите...

Изменение записи в таблице средствами Visual Studio
Всем доброго времени суток. Подключил базу данных из SQLServer'а к проекту в VisualStudio 2017....

Расшифровать. Каждой букве алфавита соответствует двузначное число
Да да я смотрел все темы в поиске и все равно ниче не понял. 81 49 86 49 12 73 92 50 81 50 15 50...

5
1842 / 1184 / 501
Регистрация: 14.10.2018
Сообщений: 3,180
18.04.2020, 15:02 2
Лучший ответ Сообщение было отмечено Belyash_1 как решение

Решение

Цитата Сообщение от Belyash_1 Посмотреть сообщение
Почему в Visual Studio букве "З" соответствует значение 135
Visual Studio тут ни причем. Здесь происходит работа с консолью. Консоль как и множество редакторов имеют разные кодировки, кодировка по умолчанию в консоли является DOS CP866, это легко проверить введя такой код
C#
1
    Console.WriteLine(Console.InputEncoding.BodyName);
Так что все закономерно. Заглавной русской букве З в данной кодировке соответствует число в десятичной форме 135
Цитата Сообщение от Belyash_1 Посмотреть сообщение
а в таблице Юникода - 1047
Таблица Юникод это всего лишь таблица. А вот кодировки которые работают с этой таблицей (например UTF-8 или UTF-16) уже и будут выдавать эти значения. Для получения значений в диапазоне около 1047 меняем кодировку входных данных
C#
1
    Console.InputEncoding = Encoding.UTF8;
PS Числа 10 и 13 берутся не с проста. В некоторых случаях в Windows перенос строки обозначается 2-мя символами "\n\r". Это также легко проверить
C#
1
2
    string str = "\n\r";
    Console.WriteLine((int)str[0] + " " + (int)str[1]);
PSS начинающий и балуется с потоками... Что то тут не сходится
2
1 / 1 / 0
Регистрация: 18.04.2020
Сообщений: 8
18.04.2020, 16:04  [ТС] 3
Спасибо, я не правильно выразился, пытаюсь разобраться в потоках. А еще такой вопрос в какой кодировке буква "З" может равняться 208151?

Добавлено через 47 минут
Так-с, вроде разобрался это кодировка UTF-8, но почему в одном месте "З" записывается как 208 151, а у меня в VS как 0?
0
1842 / 1184 / 501
Регистрация: 14.10.2018
Сообщений: 3,180
18.04.2020, 16:17 4
Цитата Сообщение от Belyash_1 Посмотреть сообщение
208151
откуда взялось данное число? что за код такой мистический
0
1 / 1 / 0
Регистрация: 18.04.2020
Сообщений: 8
18.04.2020, 16:26  [ТС] 5
Вот отсюда и отсюда (первый скрин)
То, что у меня в VS, на втором скрине
Миниатюры
Почему в Visual Studio букве "З" соответствует значение 135, а в таблице Юникода - 1047?   Почему в Visual Studio букве "З" соответствует значение 135, а в таблице Юникода - 1047?  
1
1842 / 1184 / 501
Регистрация: 14.10.2018
Сообщений: 3,180
18.04.2020, 16:50 6
Цитата Сообщение от Belyash_1 Посмотреть сообщение
у меня в VS как 0
Не первый раз замечаю что с русскими буквами при кодировке UTF-8 консоль криво себя ведет. Наверняка какой то подвох. Возможно не умеет работать с 2-ух и более байтовыми символами
1
18.04.2020, 16:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2020, 16:50
Помогаю со студенческими работами здесь

Расшифровать слово, каждой букве алфавита соответствует число
33 73 57 23 53 16 73 56 5 39

Расшифровать текст, каждой букве соответствует двузначное число
14 70 14 65 36 59 47 82 34, 40 58 40 58 42 36.17 95 34 45 67 34-65 40 17 95 34 45 67 34 32 36 45 67...

Расшифровать текст. Каждой букве алфавита соответствует двузначное число
Доброго времени суток. Нужна помощь с расшифровкой данного сообщения, самостоятельно сделать не...

Расшифровать текст. Каждой букве алфавита соответствует двузначное число
14 70 14 65 36 59 47 82 34, 40 58 40 58 42 36.17 95 34 45 67 34-65 40 17 95 34 45 67 34 32 36 45 67...

Расшифровать текст. Каждой букве алфавита соответствует двузначное число
58 62 32 39 99 31 29 58 72 62 99 58 13 54 15 56 31 63 39 72 84 15 13 56 77 15 82 56 56 56 58 54 29...

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


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

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