Stránka 1 z 1

Pascal - generátor znaků  Vyřešeno

Napsal: 02 čer 2014 23:06
od domkol
Zdravím,
potřebuji poradit s náhodným generátorem znaků. Jsou to přesně dané znaky, konkrétně #232 až #238 (dle ascii). Chtěl bych aby mi to hodilo jeden náhodný s těchto sedmi znaků. Díky za pomoc

Re: Pascal - generátor znaků

Napsal: 03 čer 2014 17:13
od faraon
Co třeba vygenerovat číslo v rozsahu 0..6, a k němu přičíst hodnotu prvního znaku, těch 232?

Akorát že tohle už není standardní ASCII, ale rozšířená sada závislá na kódování, bacha na to!

Re: Pascal - generátor znaků

Napsal: 03 čer 2014 18:06
od domkol
mění se tím něco? na co dávat bacha?

Re: Pascal - generátor znaků

Napsal: 03 čer 2014 18:31
od faraon
Mění se tím hodně, protože znak 232 může v různých kódových stránkách vypadat takhle: Φ ϋ Þ Ŕ У ш ่ و Ķ č и è θ, nebo úplně jinak, v některých dalších ani není definovaný, a u mě dokonce vůbec neexistuje, protože já jedu v UTF-8.
Standardní ASCII je pouze sedmibitové, tedy znaky 0..127, ale i tady jsou odchylky, třeba Němci mají několik znaků jiných.
A třeba jen pro češtinu těch nejpoužívanějších kódování existuje šest, minimálně tři z nich máš ty ve Windoze současně!

Bacha musíš dávat především na to jestli jsi v ASCII nebo v Extended ASCII, a ještě zajímavější je to v závoslosti na různých programovacích jazycích. V Pascalu máš character v rozsahu 0..255, ale třeba v Céčku bys ho takhle musel deklarovat jako unsigned char, protože většina překladačů má defaultně signed, takže by ty znaky měly kódy -128..127.
To je pak ještě větší sranda při porovnávání... :lol:

No, pokochej se: http://www.ascii.ca/index.htm

Re: Pascal - generátor znaků

Napsal: 16 čer 2014 22:24
od domkol
Tak generátor je na světě :) Jen se pořád nedokážu orientovat v tý ASCII. Nevím kde najdu kterou právě používám a jestli jde případně měnit.
(používám kompilátor "Dev-Pascal")

Re: Pascal - generátor znaků

Napsal: 17 čer 2014 05:41
od faraon
Ve windowsích programech budeš mít kódování Win-1250, v konzoli IBM 852, Windows sám jede v UTF-16, a já v Linuxu mám UTF-8, které obsahuje všechny :lol:

Re: Pascal - generátor znaků

Napsal: 24 čer 2014 19:19
od domkol
Tak jsem to vyřešil tak, že jsem v cyklu nechal vygenerovat všech 256 znaků ASCII a před to si napsal pořadové číslo :D