znaki Ascii w C++ a C#

FeedMe
2013-08-13 05:55
FeedMe
0

Witam

Kiedyś napisałem sobie sneka w konsoli w C++ i używałem do tego różnych znaków z tablicy ASCII. Używałem wtedy Borlanda i Windowsa XP.

Teraz uczę się C# i też chciałbym jakąś prostą gierkę w konsoli stworzyć ale znaki ASCII są różne od tych jakie były na XP. Teraz mam MS Visuala 2010 i Windowsa 7.

Możliwe że to zależy od kodowania ale nie mam pojęcia jak to zmienić/ustawić.

np. kod nr 219 to '█' a w konsoli od C# mam 'U'.

Pętelką wyśwletl sobie wszystkie znaki ;] - spartanPAGE 2013-08-13 08:34

Pozostało 580 znaków

2013-08-13 08:40
Moderator

Rejestracja: 12 lat temu

Ostatnio: 29 minut temu

Lokalizacja: Wrocław

0

Najwyższy kod ASCII to 127, więc nie mogłeś mieć 219. A char w C# jest znakiem Unicode, a nie liczbą jednobajtową jak w C++. Jak chcesz wyświetlić znak, to go po prostu skopiuj z jakiejś tablicy znaków, przypisz do zmiennej w programie i wyświetl.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2013-08-13 10:44

Rejestracja: 16 lat temu

Ostatnio: 8 godzin temu

0

Nie pokazałeś kodu.
Pojechałem na łatwiznę: skopiowałem twój tekst z posta

    class Program
    {
        static void Main()
        {
            Console.WriteLine("np. kod nr 219 to '█' a w konsoli od C# mam 'U'.");
        }
    }

efekt:
box.PNG

Prawdopodobnie próbujesz rozwiązać problem, który nie istnieje.

Ale jeśli chcesz używać kodów to w ten sposób: "\u2588".
Kody znajdziesz tu i tu (nie wszystkie podane będą działać).

  • box.PNG (0.01 MB) - ściągnięć: 239
edytowany 2x, ostatnio: Azarien, 2013-08-13 10:53

Pozostało 580 znaków

FeedMe
2013-08-13 15:09
FeedMe
0

Pomijając pętle gdzie i zawsze idzie od 0 do 255.

std :: cout << i << " : " << char(i);
Console.Write("{0} - {1}    ", i, (char)i);

Daje dwie inne tablice znaków.

Rozumiem że można kopiować/przepisywać ale nie ma jakiegoś lepszego sposobu aby uzyskać w C# taką same znaki ?

Pozostało 580 znaków

2013-08-13 16:03

Rejestracja: 16 lat temu

Ostatnio: 8 godzin temu

0

char z C# jest dokładnym odpowiednikiem wchar_t z C++, a nie char.
używanym kodowaniem znaków jest UTF16.

Pozostało 580 znaków

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0