Kezdőoldal » Számítástechnika » Programozás » Programoknál mint jelent az...

Programoknál mint jelent az ANSI és Unicode programnyelv?

Figyelt kérdés
Van egy régebbi programom, ami csak az ANSI programnyelvet támogatja és modern oprendszereken nem működik rendesen csak Win98-on és Win2000-en.. Tudom, őskövület, de erre a programra lenne szükségem, de sehogy nem indul el még XP-n sem. Ez attól lehet, hogy a régebbi Oprendszerek mint a Win98-2000 még az ANSI nyelvre épültek, az XP pedig már Unicode-ra?

ápr. 16. 10:33
 1/10 A kérdező kommentje:
Vagy ez a betűkészletekre vonatkozik elsősorban? Mivel én magyar nyelvű Windows-t használok, ezért lehetséges az is, hogy az ANSI nyelvezetű program nem ismeri fel a magyar betűket és azért nem megy?
ápr. 16. 10:35
 2/10 anonim ***** válasza:
100%
Character encoding.
ápr. 16. 10:58
Hasznos számodra ez a válasz?
 3/10 anonim ***** válasza:
100%
Karakter kodolast.
ápr. 16. 11:07
Hasznos számodra ez a válasz?
 4/10 Szikszai.B ***** válasza:
77%

Az ANSI (valójában windows-1252, csak a Windows szereti csak simán ANSI-nak hívni) és a Unicode is egy karakterkódolási szabvány.

Windows-1252 esetén 8 biten tárolunk egy karakterkódot, így egy időben 256 különböző karakter ábrázolható. Ha ennél több karakterre van szükség, különböző kódlapokat kell létrehozni, és rámappelni a 8 bites karakterkódolásra.


Unicode esetén több bájtot használunk egy karakter tárolására (maximum 32 bitet), így már több millió karakter ábrázolható. Különböző típusai vannak, UTF-8, UTF-16, UCS-2, stb.


A két rendszer között minimális átjárás van, de nyilván ha egy programot 8 bites karakterkódolásra terveztek, az nem fog tudni rendesen működni mondjuk egy UTF-16-os környezetben.

ápr. 16. 11:37
Hasznos számodra ez a válasz?
 5/10 anonim ***** válasza:
85%

Szerintem DOS-os a program, azért nem megy. Próbáld vagy DOSboxban, vagy virtuális gépre telepített win98-ban (vagy 2000-ben, ha ott is fut) elindítani.


Melyik programról van amúgy szó? Milyen hibaüzenetet don winxp-n?

ápr. 16. 11:46
Hasznos számodra ez a válasz?
 6/10 Aktív Szál ***** válasza:
100%

Az ANSI és a Unicode NEM programnyelv, hanem karakterkódolási szabvány. Manapság már minden rendszerben az UTF-8 szabványú Unicode az alap, a Windowsnak elég sokáig tartott eljutni idáig, Linux már régóta használta pl., de a Windows ragaszkodott sokáig az egyedi kódkészletekhez, mint a Win-1252.

Node, attól, hogy egy régi program más karakterkódolást használ, attól még futnia kellene, max nem fog tudni normálisan megjeleníteni minden szöveget. Ugyanis UTF-8 esetén a standard angol betűk ugyanúgy 1 byte-on vannak kódolva, tehát normálisan kell megjelenniük, max az ékezetes és speciális karakterekkel lesz gond.


Nálad inkább az lehet a gond, hogy a régi alkalmazás 16 bites és Win Vista-tól fölfelé már nincs benne a Windowsban a 16 bites alrendszer, így nem tud futtatni 16 bites programokat. A Win XP is úgy tudom, csak SP2-ig tudta, az SP3 kiszedte belőle. Ha ez a helyzet, akkor nem tudsz mit tenni vele, max felraksz egy Win98-at egy virtuális gépbe és azon futtatod.

ápr. 16. 11:52
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:
89%

Karakterkódolás, nem programnyelv.


Ugye a számítógépek az adatokat binárisan - nullák és egyesek sorozatával - tárolják.

Így tárolják a karaktereket is.

Kezdetben (kb. 1968-tól) volt az ASCII (American Standard Code for Information Interchange) karakterkódolási szabvány, ahol egy karaktert egy 7 bitből álló bináris szám reprezentálta.

7 bitből 127 féle karakter alkotható, ez alkalmas az angol ABC kis- és nagybetűihez, számokhoz, pár nyomtatható- illetve pár vezérlő karakterhez.


Viszont rájöttek, hogy ez kevés lesz (főként az angoltól eltérő nyelvek miatt), ezért elkezdtek különböző 8 bites karakterkódolási megoldásokat használni (kb. az IBM PC megjelenésével az 1980-as évekre). Ez - az ASCII-val ellentétben - nem egy adott szabvány (bármennyire is az Amerikai Nemzeti Szabványügyi Intézet - American National Standards Institute, ANSI - nevét viseli), hanem különböző számú "kódlapok" (a legközismertebb a Windows-/CP-1252, ISO/IEC 8859-1 - ez a nyugati karakterkódolás - nálunk Windows-/CP-1250, ISO/IEC 8859-2 volt használatban). Ezekkel sikeresen lefedték a különböző - főként európai - nyelveket.


Végül - az 1980-as évek végére - rájöttek, hogy ez így nem jó (egyrészt a sok nem szabványos kódlap csak kavarodást okoz, másrészt jó lenne, ha ezen kódlapokat egy szabványban egyesíteni), ezért létrehozták az Unicode-ot, ahol még több bitet, így még több karaktert lehet használni (jelenleg az UTF-32-nél járunk, ahol egy karakter leírására 32 bit áll rendelkezésre).


Ezen karakterkódolások visszafelé nem kompatibilisek (szóval egy "ANSI" karakterkódolású szöveg ASCII-ba nem vihető át egyértelműen (azért se, mert különféle kódlapok vannak)), de előre (ASCII --> "ANSI" --> Unicode) általában megoldható.


Maga a program (melyik lenne az?) nem feltétlenül a karakterkódolás miatt nem működik, hanem az operációs rendszerek különböző kialakítása miatt.

ápr. 16. 11:55
Hasznos számodra ez a válasz?
 8/10 anonim válasza:
100%
Ezek nem programnyelvek, hanem karakterkódolások.
ápr. 17. 18:11
Hasznos számodra ez a válasz?
 9/10 A kérdező kommentje:

Nagyon köszönöm a válaszokat Mindenkinek! Így már értem, hogy miért nem indul.


Win98 futtatása virtuális gépen valóban egy jó opció lehet erre, mert XP-n sajnos nem indul el a program. Egy régi hangszerkesztő programról lenne szó, ami 8bites hangokat generál. biztos vannak erre sokkal modernebb alternatívák is, de én ezt ismerem legjobban.:)

ápr. 18. 02:06
 10/10 anonim ***** válasza:

"Egy régi hangszerkesztő programról lenne szó, ami 8bites hangokat generál"

Annak a neve?

ápr. 18. 02:09
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!