Tudd Intuíció, előadás, karakterek és karakterláncok

A cél az előadás

Kapcsolat a karakter és sztring típusú adatok berendezések használatára a húrok.

A koncepció a „karakter” és a „vonal”

Az átlagos felhasználó, ezek a fogalmak nagyon elvont. Amikor kulcsokat „A” azt hiszi, hogy egy szimbólum, egy levelet. Amikor belép a „4”, akkor - az ábrán. És az összes ott terek, írásjelek és számtani jelek és ő nem így gondolja. De a programozó meg kell értenie, hogy minden ilyen tüneteket érzékeli a számítógép. Ezért kérjük, legyen türelemmel, mi fogja ezeket a fogalmakat részletesen.







Tény, hogy minden, ami bemutatjuk a billentyűzet - ez karaktereket. A levél „z”, a „3” tér. többszörösen jel, százalék jel, stb - ezeknek a karaktereknek. A számítógép is működik csak számokat, és a bináris - azok, amelyek csak a 0 vagy 1. Minden ezek a betűk, számok tizedes és más karakterek nem jelent semmit neki. És annak érdekében, hogy meg tudjuk valahogy kezelni szöveget, számokat és egyéb szükséges információkat, hogy dolgozzon ki egy speciális rendszert az információk átadását a számítógép számára is érthető, és fordítva. Így volt kódlapot.

Code oldal (angol kódlap.) - a külön táblázatban társulásának minden bájt értékét néhány karakter.

Nem világos? Nézzük vizsgálja. Tudjuk, hogy az információ bájt, és hogy egy byte 8 bit. Bit - ez a minimum információs egység, ami működik a számítógép. A bit tárolható vagy 0 vagy 1.

Az első napokban a számítógépek ASCII kódlap tervezték (angolul American Standard Code for Information Interchange -. Amerikai szabványos kód az információ csere). Az első változat a jelen standard megjelent 1963 Ez az oldal tartalmaz egy 7 bites karakter, mindegyik byte egy kicsit nem volt szerepe. Minimális bináris számot, amelyet fel lehetne 7 biten tárolva - nulla. Maximum - 1111111.

Kattintson a „Start” gombra, majd a „Run” és a „Run”, írja

és nyomja meg az . Töltsön normál Windows számológépet. A főmenüben a „View”, válassza a „Engineering”. A bal oldalon a számológép alatti beviteli mezők a számok, látni fogja a kapcsolók különböző számítási rendszer:

Tudd Intuíció, előadás, karakterek és karakterláncok


Ábra. 5.1. számológép kapcsolók

Itt van a lehetőség, hogy váltani egy négy-elszámolási rendszer:

  • Hex - 16-ed rendű. Főleg assembly nyelven, vagy ha hibakeresés programokat.
  • December - 10-ung. A hagyományos rendszerben az alapértelmezett.
  • Október - 8-ed rendű. Alig használják.
  • Bin - 2-ed rendű. Bár ő csak érthető egy számítógépre, ám a bulkiness rekordok programozás azt általában nem használják.

Lássuk, hány karaktert lehet szereplő ASCII kódlap. Váltás a bináris rendszer (Bin), írja be a hét darabot, majd kapcsolja vissza a tízes számrendszerben (december). Kaptunk 127. Ez a karakterek számát tartalmazza az első ASCII tábla. Amellett, hogy a latin betűket, az asztal is más karaktereket - számokat, aritmetikai jelek, írásjelek, szóköz, nadrágtartó, stb Minden karakter megfelel a saját számát, a táblázatban. Amikor bevezették az angol „A” betű, majd a számítógép van a szám a szimbólum a táblázatban - 65. Alternatív bináris 100 0001. Így a szimbólumokat lehet hasonlítani egymással. Angol „B” jelentése a No. 66, és így nem volt több, mint az „A”. Kisbetűket más számokat, például „a” volt a táblázatban szám alatt 97 és tartották nagyobb, mint az „A”. Bemutatjuk a karakterek, amelyek a program automatikusan átalakítja a számokat, amelyek már üzemeltetnek a számítógépet.







Itt meg kell tenni egy fontos pontosítás. Ha be számos „65”, akkor a PC nem volt a 65, vagy a latin „A” betű, ez a két karakter a „6” és „5”. Symbol „6” számának felel meg 54 kód tábla és a szimbólum az „5” - ez a szám 53. Így a száma, amelyek bemutatjuk a PC, sőt, nem a számok, és a szöveg karakter! Átalakítása karakterek számát és vissza általában automatikusan a program által. Ezek, például folyamatosan végzi a szabványos Windows számológépet. És amikor tanulmányozzuk a számokat, magunknak kell végrehajtani ugyanazt átalakulás.

Minden jó, de az angol mellett, sok más nyelv a világon! Például, írunk cirill - magyar rajz karaktereket. 127 karakter nem volt elég ahhoz, hogy be szöveget más nyelveken. Ezért az ASCII fejlődött évről új szabvány jelent meg ebben az évben. Minden karakter lett 8-bit. Nézd meg a számológép - nyolc bit tartalmazhat maximális száma 1111 1111 áthelyezés tízes számrendszerben megkapjuk a 255 karaktert. Az első felében a táblázat változatlan marad, de a második fele az asztal lehet használni a szimbólumok más nyelvek és karakter grafika, amellyel MS-DOS programozó alkalommal festett ablakok, panelek, táblák és menük. Azonban ez túl kicsi volt, hogy kódolni a nyelv a világon. Minden nyelv, mi volt, hogy dolgozzon ki egy szabványos, amely nem kompatibilis másokkal. És az egyik nyelv kifejlesztett néhány szabványoknak! Magyar nyelv, például, CP866 szabványok (kódlap 866) KOI8-R. KOI8-U, ISO-8859-5, és ez csak a leggyakoribb! A káosz a szabványok kellett valahogy megérteni, és javítani őket.

Az első változat a Unicode karakterek rögzített mérete 2 bájt (16 bit). Egy kódolási volt lehetséges, hogy a 65535 karakter! Azonban kiderült, hogy ez nem elég. Unicode fejlesztették tovább, és évről évre kezdtek megjelenni az új változatok és szabványok alapján Unicode. Vannak szabványok, mint az UTF-8 (Eng Unicode Transformation Format nyolc bit - .. 8 bites Unicode formátum konverzió), UTF-16. UTF-32.

Ez a megközelítés az UTF-8 kódolást a leggazdaságosabb kompatibilitást a régebbi szabványok, de vannak hátrányai is. Sajnos az orosz nyelvű (és általában minden nem angol nyelvű) A Windows felhasználók Lazarus szembe kell néznie néhány probléma az alkalmazás a különböző karakter: a Lazarus UTF-8 kódolást. Operációs rendszer Windows UTF-16. és konzolos alkalmazások a Windows a kódolási rendszer CP866 (azaz ANSI szabvány szerint). Azt is használják bizonyos funkciók FPC. Tehát bizonyos esetekben meg kell használni a kódolási konverziós funkciókat, például UTF8ToConsole (). CP866ToUTF8 (), stb Nézzük őket később, abban az időben.

Tehát, összefoglalva az eredményeket.

  • A szimbólum - egy grafikus ábrázolása betűk, számok, jelek számtani, írásjel vagy más jel, amely megfelel bármely szabványos karakterkódolást.
  • Minden karakter felel meg annak számát a karakter táblázatban.
  • Kódolások (kódlap), sok.
  • Húr - egy karaktersorozatot.
  • A számok, hogy mi egyre a billentyűzeten - ez karaktereket. Ahhoz, hogy kezelje őket, mint a számok, a program elvégzi az automatikus konverziót a karakterek számát, majd vissza, amikor megjeleníti az eredményeket a számításokat.
  • UTF-8 - ez az egyik ábrázolások Unicode használt Lazarus.
  • Ugyanabban a sorban meg tud felelni a karaktereket, amelyek elfoglalják az 1, 2 vagy több byte.

Köszönöm a csodálatos természetesen!

Az önálló munka №2 összeállításához MyCript.pas modul (OS: Windows 7 x64, Lazarus 1.4 Win64) kiadott egy hiba assembly kódot

mycript.pas (54,5) Hiba: Asm: [tolja reg32] érvénytelen kombinációját műveleti kód és operandusok
mycript.pas (95,5) Hiba: Asm: [pop reg32] érvénytelen kombinációját műveleti kód és operandusok

Megértem, hogy a pálya kész a 32 bites operációs rendszer, de mi a helyzet abban az esetben a 64 bites rendszereket?

A rakodók FileCreate menüpontok és FileOpen, valamint a záró formájában felvezető OnClose - e három eljárások ugyanazt a kódot tartalmazza

nekik, mielőtt az új szöveg>
ha Memo1.Modified ezután kezdődik
// ha a felhasználó vállalja, hogy mentse a változásokat:
ha MessageDlg ( „Mentés másként”
„A jelenlegi fájl megváltozott. Változások mentése?
mtConfirmation, [mbYes, mbNo, mbIgnore], 0) = mrYes majd
FileSaveClick (feladó);
végén; // ha

Hadd kérdezzem meg: nem lenne jobb, ha ezt a kódot egy külön eljárás, például - formájában egy eseménykezelő OnCloseQuery? Amennyire vissza tudok emlékezni Delphi tapasztalat, hívja ezt az eljárást önmagában nem vezethet bezárása formájában. Ez azt jelenti, hogy lehet használni eljárások Memo1 tisztítás és olvasni a fájlt. Vagy Lazarus nem tudod?




Kapcsolódó cikkek