znaki Ascii w C++ a C#

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'.

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.

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ć).

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 ?

0

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

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