Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

anastassija87 avatar anastassija87 5 Точки

[Homework] Programming Basics - Variables - Problem {15} - Print ASCII table

Здравейте,

Прегледах останалите теми, но не открих сходна, затова реших да задам въпроса си тук.

Според условието на задача 15 " Note that some characters have a special purpose and will not be displayed as expected. You may skip them or display them directly".

Аз съм изобразила всички символи, обаче от тук ми дойде "езиковият проблем". Всички символи на чужди езици, които във  dotnetfiddle.net ми излизат като "é , ê, ë, ì , í , î , ï , ð, ñ,ò , ó, ô, õ, ö" са си просто "е ","i","о" или "?" според моята конзола (http://prntscr.com/6r99f2).  Използвам  System, Sytem Text.

Какво условие трябва да добавя, за да ми се изпишат коректно?

Кодът ми е :

         int n = 1;
        do
        { 
            Console.WriteLine(" Symbol Nr.{0} in ASCII is {1} ", n, (char)n);
            n++;
        } while (n < 256);

 

Благодаря предварително !

 

Тагове:
0
Programming Basics 08/04/2015 22:53:35
enevlogiev avatar enevlogiev 1168 Точки

С Console.OutputEncoding = Encoding.UTF8; в началото на кода би трябвало да изпринтира повече.

0
anastassija87 avatar anastassija87 5 Точки

Опитах, но най вероятно съм го позиционирала грешно, тъй като резултатът ми не се промени.

0
08/04/2015 21:25:48
enevlogiev avatar enevlogiev 1168 Точки

Понеже не ми се преразказват отговорите в тази тема, направо ще ти пратя линк.

0
JOHNY avatar JOHNY 196 Точки

Не си го позиционирала грешно. И аз в друга задача опитах да ползвам Console.OutputEncoding = Encoding.UTF8, но dotnetfiddle не го приема. Колеги казаха, че същия код във Visual работи - опитай там.

1
quickben avatar quickben 966 Точки

ЦЪК по-този и подобни начини можеш да принтираш всичките :)

1
kasskata avatar kasskata 492 Точки

Самата конзола е голяма гад, по принцип. Идеята на нея е просто да разбира от анлийската азбука. по принцип можеш да настроиш цикъла до 1200 и продължава да намира нови символи, така че не е до 256. 
Та за оправянето на проблема беше нещо много дълго... но не го намирам така че алтернатива:

     Console.OutputEncoding = Encoding.Unicode; 

при мен сработи това, с твоя код.

static void Main()
{
Console.OutputEncoding = Encoding.Unicode;
for (int i = 0; i < 1200; i++)
Console.WriteLine("Symbol Nr.{0} in ASCII is {1} ", i, (char)i);
}
0
10/04/2015 16:39:11
xanderbg avatar xanderbg 53 Точки

Освен

"Console.OutputEncoding = Encoding.UTF8"

пробвай да смениш и шрифта на конзолата. Това се прави като цъкнеш с дясното копче на мишката върху горния бар на прозореца на конзолата и му дадеш от падналото меню или "Deafault", или "Properties" > FONT > и избираш друг шрифт (все с някой трябва да стане:) ). Същото нещо е показано и в клипчето на лекцията.

 

*"Deafault" - промените са за постоянно, но не засягат текущия отворен прозорец.

*"Properties" - промените важат само за текущия отворен прозорец.

0
anastassija87 avatar anastassija87 5 Точки

Благодаря много на всички ! Оставих System.Console.OutputEncoding = System.Text.Encoding.UTF8; и допълних  фонта да бъде  Consolas, защото разчита повече символи !

За съжаление съветите на Е. Евлогиев ( предполагам визираш примера с дългото обяснение)  и Г.Илиев са твърде много advanced. Прегледах ги, но не разбрах логиката.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.