Diskuze: c# form - vypsání ASCII tabulky
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 14 zpráv z 14.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
ASCII je jen 0-127, to jaké znaky jsou dál si už dělal každý tak nějak sám co se mu zrovna hodilo. Proto taky vznikl Unicode. Takže ano, je to kódováním a záleží jaké použiješ.
Díky za info.
A je tedy možnost nějakým překódováním tyto znaky zobrazit? Pokud ty
znaky vypisuji takto (viz. kód výše) tak se mi nic nezobrazí.
V konzoli mi to vypíše jen otazníky (128 - 159), 160 je prázdný...
Na youtube som nedávno našiel výborný kanál na c# a wpf a chlapík tam má aj video ohľadom ASCII , doporučujem pozrieť, veľmi dobre vysvetlené (je to v angličtine, ale verím že to pre programátorov nie je problém).
Aha, tak mě to nevypíše ani ty otazníky, viz. obr. A když to krokuji, tak je tam opravdu prázdný znak. Tak fakt nevím....
Co třeba použít jinej font, co ty znaky umí?
Ahoj, no to právě nevím jaký font je umí. Zkoušel jsem arial a times new roman a ani jeden je neumí.
Tak jsem zkoušel Arial Unicode MS a neumí. DejaVu Sans Mono nemám, musím ho stáhnout....
Jak napsal Jan Vargovský, je to kódováním. Pokud ti jde opravdu pouze o sadu ASCII, ta využívá pouze 127 znaků. Pokud ti jde o ANSI sady jako je např. česká Windows-1250, tak ji musíš určit a podle ní se pak dekódují další znaky. Na to by ti měl stačit např. Arial.
Tady je taková rychlá ukázka konverze byte na char:
static void Main(string[] args)
{
char c1, c2, c3, c4;
for (byte w = 1; w != 0; w++)
{
var bytes = new byte[] { w };
c1 = Convert.ToChar(w);
c2 = System.Text.Encoding.ASCII.GetString(bytes)[0];
c3 = System.Text.Encoding.GetEncoding(1250).GetString(bytes)[0];
c4 = System.Text.Encoding.Default.GetString(bytes)[0];
Console.WriteLine("{0:D3}: CONV:{1} ASCII:{2} 1250:{3} DEF:{4}", w, c1, c2, c3, c4);
}
Console.ReadKey();
}
Ok díky za vysvětlení a příklad. Už jsem to opravil a vše funguje...
Zobrazeno 14 zpráv z 14.