Kaj je niz znakov?

Niz znakov je v večini računalniških programskih jezikov splošno znan kot niz znakov. To je predvsem zato, ker je “char” ključna beseda v jezikih, kot je C, ki se uporablja za deklariranje spremenljivke skalarnega znakovnega podatkovnega tipa. Niz znakov je zaporedje znakov, zabeleženih v pomnilniku v dolgi vrsti zaporednih naslovov, do katerih je mogoče hitro dostopati z uporabo indeksa elementa v matriki. Tako kot mnogi nizi skalarnih podatkovnih tipov so prednosti uporabe niza char omogočanje hitrega naključnega dostopa in zamenjavo vrednosti na poljubnih položajih znotraj matrike.

V objektno usmerjenih programskih jezikih, kot je Java®, je pomembno razumeti, da niz char predstavlja zaporedje skalarnih vrednosti in ne razredov ali objektov. Skalarni podatkovni tip je tisti, ki je shranjen samo kot podatek, kot je celo število. To je v nasprotju z nizom znakovnih objektov, ki vsebuje metode in morda druge podporne spremenljivke, kot so informacije o serizaciji ali sinhronizaciji.

Znak v večini računalniških jezikov je vrsta podatkov, zasnovana tako, da vsebuje eno črko ali simbol, kot ga predstavlja kodiranje znakov, ki ga uporablja program ali operacijski sistem. Zaradi tega je lahko, razen v močno standardiziranih jezikih, dejanska velikost znaka v pomnilniku v vsakem sistemu drugačna. Te informacije lahko naredijo razliko pri poskusu prečkanja niza char z uporabo aritmetike kazalca, kjer morajo namesto preprostih operatorjev povečanja in zmanjšanja, izračuni kazalca uporabiti sistemsko definirano velikost znakov. Zanašanje na matriko, v kateri je velikost znaka 1 bajt ali 2 bajta, lahko povzroči nepredvidljivo vedenje in napake, če se program izvaja v drugem sistemu, v katerem bi lahko bil znak drugače definiran.

Znotraj nekaterih programov bi lahko matriko znakov uporabili kot osnovo za izvedbo nizovnega razreda ali naprednega niza podatkovnega tipa. V programskem jeziku C se nizi dejansko obravnavajo na način, ki je zelo podoben matriki char, v kateri niz tvori zaporedno zaporedje znakov, ki program obveščajo, da se je niz končal z ničelnim znakom. Razred nizov po meri bi lahko bil zasnovan tako, da posnema to vedenje z matriko.

Druge uporabe za niz char vključujejo izvajanje vrst stiskanja ali kodiranja, ki ne temelji nujno na oktetih, temveč na človeku berljivih znakih. Niz bi lahko služil tudi kot vrsta medpomnilnika za obdelavo daljših blokov besedila, ki so shranjeni v fizični medijski datoteki, ali tisti, ki se bere iz omrežne vtičnice. Večina funkcij, za katere se uporablja niz znakov, vključuje vnos in izpis besedila preprosto zato, ker je velikost skalarnega znaka nepredvidljiva od enega sistema in prevajalnika do drugega v mnogih jezikih in se zato nanjo ni mogoče zanesti, da bo vsebovala cele vrednosti, ki presegajo določen razpon.