# &okteta; käsiraamat

## Sissejuhatus

&okteta; on lihtne failide toorandmete redaktor.

Andmeid kuvatakse kahel viisil: baitide arvväärtustena ja väärtustele omistatud märkidena. Väärtusi ja märke võib lasta näidata kahes veerus (niisuguste redaktorite tavapärane kuvamisviis) või ridades, kus väärtus on märgi peal. Redigeerida saab nii väärtusi kui ka märke.

Lisaks tavapärastele redigeerimisvõimalustele pakub &okteta; veel teatavat valikut tööriistu, näiteks tabelit, mis dekodeerib andmed levinumatesse andmetüüpidesse, tabelit, mis näitab kõiki võimalikke baite koos nende märk- ja väärtusvastetega, infovaadet statistikaga, kontrollsumma kalkulaatorit, filtritööriista ja stringide ekstraktimise tööriista.

Kõiki laaditud andmetega ette võetud toiminguid saab piiramatult tühistada ja uuesti sooritada.

## Põhitõed

### &okteta; käivitamine

Kurjuta käsureale ``okteta`` või vali rakenduste käivitajas Rakendused Tööriistad Binaarfailide redaktor.

Kasutada saab tavapäraseid &Qt; ja &kde; käsureavõtmeid, mida saab näha käsuga ``okteta` `--help``.

&okteta; spetsiifilised võtmed on järgmised:

``<&URL;(id)>`` - määratud &URL;-i(de)ga faili(de) avamine

### Kasutamine

&okteta; peaaken koosneb järgmistest komponentidest: menüüriba, tööriistariba, olekuriba, üks või mitu külgriba tööriistadega ning peavaade kaartideks jagatud andmevaadetega.

Faili avamisel või uue baidimassiivi loomisel näidatakse sisalduvaid baite üksteise järel ridades, kus iga rea juures on baitide arv. Neid kuvatakse kahel viisil: baitide arvväärtustena või väärtustele omistatud märkidena. Väärtusi ja märke võib lasta näidata kas eraldi kahes veerus või üksteise kõrval, nii et väärtus on märgi peal. Vasakul näidatakse iga rea esimese baidi suhtaadressi.

Kasutamine on sarnane enamiku tekstiredaktoritega: andmeid saab redigeerida, lõigata, kopeerida, asetada ja lohistada nagu ikka. Kursor tähistab aktiivset asukohta. Klahviga Insert saab lülitada ülekirjutamis- ja lisamisrežiimi vahel. Ülekirjutamisrežiim on tavalistest tekstiredaktoritest siiski rangem. see ei luba toiminguid, mis muudavad baidimassiivi suurust.

Erinevalt teistest tekstiredaktoritest on sisu kuvatud kahes variandis. Sisestamise mõttes on aktiivne ainult üks neist. Kaks omavahel seotud kursorit näitavad vastavalt väärtust ja märki ning aktiivne on see variant, mille kursor plingib. Kui aktiivsed on märgid, saab märke sisestada nagu igas tekstiredaktoris. Kui aktiivsed on väärtused, avab arvu kirjutamine tillukese redaktori, mis võimaldab sisestada ülejäänud väärtuse.

Otsingudialoog võimaldab kasutajal otsida konkreetset baidistringi kas väärtusena (16nd-, 10nd-, 8nd-, 2nd-süsteemis) või tekstina (8-bitine kodeering või UTF-8).

Korraga võib avada mitu baidimassiivi, kuid ainult üks neist saab olla aktiivne. Seda, milline baidimassiiv on aktiivne, saab valida menüüst Aknad.

## Tööriistad

### Ülevaade

&okteta; pakub mitmeid tööriistu: osad on mõeldud baidimassiivide analüüsimiseks ja käitlemiseks, mõned on üldisemad. Tööriistu saab nähtavale tuua või varjata vastavate kirjetega menüüs Tööriistad. Kõigil tööriistadel on pisike vaade, mis paikneb dokina ühel külgribadest või vabalt omaette aknana. Tööriistavaateid saab dokkida, dokist vabastada, ümber korraldada ja pinusse seada hiirega või tööriistavaate tiitliribal &HVNga; klõpsates ja seda vajalikku kohta liigutades, pärast mida tuleb &HVN; toimingu lõpetamiseks lahti lasta või toimingust loobuda klahvile &Esc; vajutades.

#### Analüsaatorid ja käitlejad

Baiditabel

- Tabel toob ära kõik võimalikud baidiväärtused nii märk- kui arvväärtusena.

  Valitud väärtuse saab sisestada kursori asukohta. Selleks tuleb klõpsata nupule Lisa või teha tabelis real topeltklõps.

Binaarfilter

- Filter võimaldab valitud baitidega ette võtta binaartoiminguid. Pärast toimingu (AND, OR, ROTATE...) valimist saab allpool olevas kastis soovi korral paika panna parameetrid. Filtri saab rakendada klõpsuga nupule Filtreeri.

Stringid

- See tööriist tuvastab valitud baitides stringid. Stringi miinimumpikkuse valimise järel hangitakse stringid klõpsuga nupule Hangi. Näidatavate stringide loendit saab piirata, kui sisestada sobiv filter.

Statistika

- Siin näeb valitud baitide statistikat. See näitab iga valikusse kuuluva baidi esinemissagedust. See arvutatakse välja, kui klõpsata nupule Loo.

Kontrollsumma

- See tööriist arvutab mitmesuguseid valitud baitide kontrollsummasid. Pärast algoritmi valimist ja vajaduse korral parameetrite määramist arvutatakse kontrollsumma välja, kui klõpsata nupule Arvuta.

Dekodeerimistabel

- Siin näeb baidi või baitide (alates kursorist) väärtust, mida esitatakse selliste levinud andmetüüpide, nagu täis- või murdarv, aga ka UTF-8 kohta. Tabeli real topeltklõpsu tehes käivitab redaktori, kus saab väärtusi muuta.

Struktuurid

- See tööriist võimaldab baidimassiive uurida ja muuta vastavalt kasutaja määratud struktuuridefinitsioonile. Üksikasjalikumalt kõneldakse selles omaette osas.

#### Üldised tööriistad

Failisüsteem

- See tööriist pakub põimitud failisirvijat, mille abil saab valida avatavaid faile.

Dokumendid

- See tööriist näitab kõiki viimati loodud või laaditud faile. Sümbolid tähistavad parajasti aktiivses vaates olevat faili, samuti näitavad, millistes failides on salvestamata muudatusi või millist salvestil leiduvat faili on muutnud mõni muu programm.

Järjehoidjad

- Selle tööriista abil saab hallata järjehoidjaid, mis on võimalik ka järjehoidjate menüü vahendusel.

  Järjehoidjad on praegu ainult ajutised ning neid ei salvestata, kui sulged baidimassiivi või rakenduse.

Failiinfo

- See tööriist näitab mõningat teavet aktiivse faili kohta, sealhulgas selle tüüpi, asukohta ja suurust.

### Struktuuride tööriist

#### Üldine

Struktuuride tööriist võimaldab baidimassiive analüüsida ja muuta vastavalt kasutaja loodud struktuuridefinitsioonidele, mida saab luua massiividest, ühendutest, primitiivide tüüpidest ja loendiväärtustest

Tööriistal on oma seadistustedialoog, mille saab avada nupuga Seadistused. Seal saab seadistada mitmesuguseid valikuid, näiteks stiili, millega väärtusi kuvatakse (10nd-, 16nd- või 2nd-süsteem). Samuti saab määrata, millised struktuuridefinitsioonid laaditakse ja milliseid struktuure näidatakse vaates.

Struktuurid on defineeritud &okteta; struktuuridefinitsioonifailides (need on &XML;-failid laiendiga `.osd`). Lisaks sisaldab `.desktop`-fail struktuuridefinitsioonifaili metaandmeid, näiteks autor, kodulehekülg ja litsents.

Praegu puudub struktuuridefinitsioonide loomise või muutmise sisseehitatud toetus, mistõttu seda tuleb teha käsitsi, nagu kirjeldatakse järgmistes lõikudes.

#### Struktuuridefinitsioonide paigaldamine

##### Paigaldamine KNewStuffi abil

Lihtsaim viis uusi struktuuridefinitsioone paigaldada on kasutada &okteta;sse sisse ehitatud KNewStuffi toetust. Olemasoleva struktuuri paigaldamiseks avada struktuuritööriista seadistustedialoog. Vali seal kaart Struktuuride haldamine ja vajuta nupule Hangi uusi struktuure... Ilmub dialoog, mis võimaldab struktuure paigaldada ja eemaldada.

##### Struktuuridefinitsioonide käsitsi paigaldamine

Struktuuride tööriist otsib struktuuridefinitsioone kasutaja programmi andmete kataloogi (selle saab teada käsuga ``kde4-config` `--localprefix``) alamkataloogis `share/apps/okteta/structures/`. Kui sul pole veel ühtegi struktuuridefinitsiooni paigaldatud, võib olla vajalik see alamkataloog esmalt luua.

Iga struktuuridefinitsioon koosneb kahest failist. Üks sisaldab tegelikku definitsiooni, teine on aga metaandmetele (autor, versioon jne.) mõeldud `.desktop`-fail.

Selles alamkataloogis on oma alamkataloogid igale struktuuridefinitsioonile, mis sisaldavad nii definitsiooni `.desktop`-faili kui ka `.osd`- või `main.js` faili.

Kui näiteks programmi andmete kataloog on `.kde` ja struktuuridefinitsiooni nimi ExampleStructure, siis on olemas kataloog `.kde/share/apps/okteta/structures/ExampleStructure`, mis sisaldab faile `ExampleStructure.desktop` ja `ExampleStructure.osd`.

##### Äsja paigaldatud struktuuride kasutamine

Kui oled paigaldanud uue struktuuridefinitsiooni, tuleb &okteta; taaskäivitada. Siis ava struktuuri tööriista seadistustedialoog. Vali seal kaart Struktuuride haldamine ja kontrolli, et vastav struktuuridefinitsioon on märgitud. Seejärel vali kaart Struktuurid ja kontrolli, et soovitud element on ikka parempoolses nimekirjas.

#### Struktuuridefinitsioonide jagamine

Levinumate struktuuride jaoks võid muidugi definitsiooni ka ise luua, kuid selle asemel võib kasutada ka teiste loodud definitsioone, mida leiab näiteks veebileheküljelt kde-files.org.

Samuti võib jagada teistega enda loodud definitsioone. Selleks loo failiarhiiv (nt. zip-pakenduses tar-arhiiv `.tar.gz`), mis sisaldab alamkataloogi struktuuri definitsiooni ja `.desktop`-failiga. Eespool toodud näite põhjal oleks selleks kataloog `ExampleStructure` kogu oma sisuga. Selle vormingu kasutamine struktuuri definitsioonide jagamiseks võimaldab paigaldada neid otse &okteta;s ega nõua käsitsi paigaldamist.

#### Struktuuridefinitsioonide loomine

Struktuuridefinitsioone saab luua kahel moel. Esiteks võib kirjutada definitsiooni &XML;-is, teiseks saab kasutada JavaScripti. Viimane võimalus lubab luua keerukamaid struktuure selliste omadustega, nagu näiteks struktuuri valideerimine. &XML;-i kasutamine pakub vähem võimalusi, aga kui vajad ainult staatilist struktuuri, siis on see ilmselt lihtsam viis. Kui vajad aga dünaamilist struktuuri, see tähendab struktuuri, mille puhul massiivi pikkused sõltuvad struktuuri teistest väärtustest või struktuuri ülesehitus muutub, kui mõne liikme väärtus muutub, siis lihtsalt tuleb kirjutada struktuuridefinitsioon JavaScriptis. Reeglist on üks erand: kui tegemist on massiiviga, mille pikkus peab olema täpselt võrdne teise struktuuri väärtusega, siis võib kasutada ka &XML;-i. Aga kui see on näiteks length - 1 või midagi sellist, siis peab kasutama JavaScripti.

#### Struktuuridefinitsioon &XML;-faili vormingus

`.osd` &XML;-failil on üks juurelement: <data> ilma atribuutideta. Selle elemendi sees peab olema üks järgmistest elementidest:

<primitive>

- Primitiivi andmetüübi loomiseks, nt. int ja float. See element ei luba alamelemente ja sel võivad olla järgmised atribuudid:

  type

- Primitiivi tüüp. See peab olema üks järgnevatest:

  - char 8-bitise ASCII märgi korral

  - int8, int16, int32, int64 vastava suurusega märgiga täisarvu korral

  - uint8, uint16, uint32, uint64 vastava suurusega märgita täisarvu korral

  - bool8, bool16, bool32, bool64 vastava suurusega märgita tõeväärtuse (0 = väär, kõik teised väärtused = tõene) korral

  - float 32-bitise IEEE754 murdarvu korral

  - double 64-bitise IEEE754 murdarvu korral

<bitfield>

- Bitivälja loomiseks. See element ei luba alamelemente ja sel võivad olla järgmised atribuudid:

  width

- Bitivälja kasutatud bittide arv. Peab olema vahemikus 1 kuni 64.

type

- Bitivälja tüüp. Peab olema üks järgnevatest:

  - unsigned bitivälja korral, milles väärtust interpreteeritakse märgita väärtusena (väärtus vahemikus 0 kuni 2width - 1)

  - signed bitivälja korral, milles väärtust interpreteeritakse märgiga väärtusena (väärtus vahemikus -2width - 1 kuni 2width - 1 - 1)

  - bool bitivälja korral, milles väärtust interpreteeritakse tõeväärtusena

  Pea alati meeles lisada <bitfield> järele täidis, sest vastasel juhul algab järgmine element (välja arvatud stringid ja massiivid, sest need lisavad täidise automaatselt) baidi keskel. Mõistagi ei ole täidis vajalik, kui see ongi sinu taotlus.

<enum>

- Primitiivi tüübi loomiseks, milles väärtused kuvatakse võimaluse korral väärtustiku liikmetena. See element ei luba alamelemente (küll aga läheb failis vaja sellele viitamiseks silti <enumDef>). Sel on järgmised atribuudid:

  enum

- Väärtuse taga seisev väärtustik. Peab sobima kokku ühe failis esineva sildi <enumDef> atribuudiga name.

type

- Loendi tüüp. Vaata <primitive> atribuudi tüüpi. Ainuke erinevus on see, et Double ja Float on siinkohal ülearused.

<flags>

- Sama, mis <enum>, ainult et väärtused esitatakse kõigi väärtustiku väärtuste korral bitikaupa disjunktsioonina (bitwise-or).

<struct>

- Struktuuri loomiseks. Kõik teised elemendid (kaasa arvatud <struct>) võivad olla selle järglased ja on sel juhul tulemusena saada struktuuri koosseisus

<union>

- Ühenduse loomiseks. Põhimõtteliselt sama, mis <struct>, aga kõik järglaselemendid algavad samalt suhtaadressilt. Kasulik sama jada interpreteerimiseks erinevatel viisidel.

<array>

- Massiivi loomiseks. See element lubab täpselt üht järglast (massiivi taga seisev tüüp), mis võib olla suvaline element, isegi <array> ise. Samuti on sel järgmised atribuudid:

  length

- Massiivi elementide arv kümnendnumbrina. See võib aga olla ka string, mis vastab eelnevalt defineeritud elemendi <primitive>, <enum> või <flags> nimeatribuudile. Sel juhul on pikkuseks selle elemendi väärtus. Praegu on piiranguks 10000, sest pikemad massiivid võtaksid liiga palju mälu ja aeglustaksid liialt rakendust.

<string>

- Eri kodeeringus stringi loomiseks. Vaikimisi on see NULL-lõpetusega C stiilis string. Siiski võib luua eri tüüpi stringe järgmiste atribuutidega:

  terminatedBy

- See atribuut määrab, millise Unicode'i märgiga string lõpetatakse. See peab olema kuueteistkümnendsüsteemi arv (lisaks võib sellele eelneda 0x). Kui kodeeringuks on ASCII, omavad tähendust ainult väärtused kuni 0x7f. Kui määratud pole see ega maxCharCount või maxByteCount, eeldatakse väärtuseks 0 (C stiilis string).

maxCharCount

- Maksimaalne stringis lubatud märkide arv. Kui määratud on ka terminatedBy, siis lõpetab stringi see, milleni esimesena jõutakse. See on vastastikku välistav atribuudiga maxByteCount

maxByteCount

- Stringi maksimaalne pikkus baitides. Kui määratud on ka terminatedBy, lõpetab stringi see, milleni esimesena jõutakse. See on vastastikku välistav atribuudiga maxCharCount. Selliste kodeeringute korral nagu ASCII on see võrdne atribuudiga maxCharCount.

type

- Stringi kodeering. Võib olla üks järgnevatest:

  - ASCII

  - LATIN-1

  - UTF-8

  - UTF-16-LE või UTF-16-BE. Kui antud pole ei sufiksit -LE ega -BE, eeldatakse peeneotsalist (LE).

  - UTF-32-LE või UTF-32-BE. Kui antud pole ei sufiksit -LE ega -BE, eeldatakse peeneotsalist (LE).

Kõik elemendid lubavad ka atribuuti name, mis on hiljem nähtav struktuurivaates.

#### Näidisstruktuuridefinitsioon nii &XML;-is kui ka JavaScriptis

##### Ühine samm mõlemal juhul

Metaandmete fail näeb välja selline:

            [Desktop Entry]
            Encoding=UTF-8
            Icon=arrow-up
            Type=Service
            ServiceTypes=KPluginInfo

            Name=Simple test structure
            Comment=A very simple test structure containing only two items

            X-KDE-PluginInfo-Author=Alex Richardson
            X-KDE-PluginInfo-Email=foo.bar@email.org
            X-KDE-PluginInfo-Name=simplestruct
            X-KDE-PluginInfo-Version=1.0
            X-KDE-PluginInfo-Website=http://www.plugin.org/
            X-KDE-PluginInfo-Category=structure
            X-KDE-PluginInfo-License=LGPL
            X-KDE-PluginInfo-EnabledByDefault=false

- Ikoon, mida &okteta; selle struktuuri puhul näitab, võib olla milline tahes, mille leiab käsuga ``kdialog` `--geticon``, või siis ikooni konkreetne asukoht

Need väljad peaksid olema üsna enesestmõistetavad, välja arvatud ehk `X-KDE-PluginInfo-Name`. Selle välja väärtus peab sobima nii kataloogi nimega, mis sisaldab faili, kui ka `.desktop`-faili nimega. &XML;-struktuuri definitsioone luues peab ka `.osd`-faili nimi sobima selle nimega.

Selles näites on meil kataloog `simplestruct`, mis sisaldab faili `simplestruct.desktop`. Struktuuride defineerimisel &XML;-is sisaldab kataloog ka faili `simplestruct.osd`. JavaScripti kasutamisel on selle asemel fail `main.js`.

##### Lihtne &XML;-i struktuuridefinitsioon

Alustuseks loome definitsiooni hästi lihtsale teststuktuurile, mis sisaldab ainult täisarvulisi andmetüüpe (üks märk, üks 32-bitine täisarv ja bitiväli). Need väljenduvad C/C++ keeles järgmiselt:

              struct simple {
                char aChar;
                int anInt;
                bool bitFlag :1;
                unsigned padding :7;
              };

Kõigepealt tuleb kirjutada `.osd`-fail vastavalt eelnevas osas defineeritud failivormingule. Anname sellele nimeks `simplestruct.osd`:

               <?xml version="1.0" encoding="UTF-8"?>
              <data>
                <struct name="simple">
                  <primitive name="aChar" type="Char"/>
                  <primitive name="anInt" type="Int32"/>
                  <bitfield name="bitFlag" type="bool" width="1"/>
                  <bitfield name="padding" type="unsigned" width="7"/>
                </struct>
              </data>

mis on päris sarnane C/C++ definitsioonile.

Nüüd tuleb luua kataloog `simplestruct` struktuuri paigalduskataloogi, nagu eespool kirjeldatud, kopeerida kaks faili sellesse kataloogi ja taaskäivitada &okteta;.

##### Lihtne struktuur JavaScriptis

Eelneva struktuuri teostamiseks JavaScriptis loo `simplestruct.osd` asemel fail nimega `main.js`. Selle sisu peaks olema järgmine:

            function init() {
              var structure = struct({
                aChar : char(),
                anInt : int32(),
                bitFlag : bitfield("bool", 1),
                padding : bitfield("unsigned", 7),
              })
              return structure;
            }

&okteta; näidatav struktuur on alati funktsiooni `init` tagastatav väärtus.

Primitiivi tüübi loomiseks võib välja kutsuda järgmisi funktsioone:

- char()

- int8(), int16(), int32() või int64()

- uint8(), uint16(), uint32() või uint64()

- bool8(), bool16(), bool32() või bool64()

- float()

- double()

Bitivälja funktsioon kasutab kaht parameetrit, millest esimene on string, mille sisu on `bool`, `signed` või `unsigned`. Teine parameeter on täisarv, mis määrab laiuse bittides.

##### Keerulisemad struktuurid

Nüüd loome definitsiooni keerulisemale struktuurile, millele annamegi nimeks "complex" ja salvestame failina `complex.osd`. See struktuur sisaldab kaht massiivi (üks kindla pikkusega, teise pikkus määratakse käitusajal) ning pesastatud struktuuri ja ühendit.

              <?xml version="1.0" encoding="UTF-8"?>
              <data>
                <struct name="complex">
                  <primitive name="size" type="UInt8" />
                  <union name="aUnion">
                    <array name="fourBytes" length="4">
                      <primitive type="Int8" />
                    </array>
                  </union>
                  <struct name="nested">
                    <array name="string" length="size"> <!-- references the field size above -->
                      <primitive type="Char" />
                    </array>
                  </struct>
                </struct>
              </data>

Selle vasteks on pseudo-C/C++ korral

    struct complex {
                uint8_t size;
                union aUnion {
                  int8_t fourBytes[4];
                };
                struct nested {
                  char string[size] //not valid C++, references value of the uint8 size
                };
              };

Enne massiivi saavad mõistagi olla ainult dünaamilise pikkusega massiivide viidete väljad.

Nüüd loome faili `complex.desktop` samamoodi nagu eelmises näites (kontrolli, et `X-KDE-PluginInfo-Name` oleks ikka korrektselt määratud) ning järgime eelmist näidet ka mõlema faili paigaldamisel.

##### Täiendav teave

Mõningaid näidisstruktuuridefinitsioone leiab siit. Nende seas on näiteks PNG-failide failipäis ja ELF-faili päis. `.osd`-faili struktuuri kirjeldava &XML; skeemi leiab siit. Kui tunned veel millegi vastu huvi, võta ühendust autoriga aadressil &Alex.Richardson.email;.

## Menüükirjed

Pane tähele, et enamikul menüükäskudel on ka kiirklahvid.

### Menüü Fail

&Ctrl;N Fail Uus

- Loob uue baidimassiivi...

  - Tühi: ...sõna otseses mõttes tühjana.

  - Lõikepuhvrist: ...lõikepuhvri sisu põhjal.

  - Muster...: ...määratud mustriga.

  - Juhuslikud andmed: ...juhuslike andmetega.

  - Jada: ...kõigi baitidega vahemikus 0 kuni 255.

&Ctrl;O Fail Ava...

- Avab olemasoleva faili.

Fail Ava viimati kasutatud

- Võimaldab valida mõne viimati avatud failidest.

&Ctrl;S Fail Salvesta

- Salvestab baidimassiivi failina.

Fail Salvesta kui...

- Salvestab baidimassiivi uue nimega failina.

Fail Eksport

- Ekspordib valitud baidid faili...

  - Väärtused: ...kodeerituna baidiväärtustena.

  - Lihttekst: ...kodeerituna märkidena.

  - Base64: ...kodeerituna Base64 vormingusse.

  - C massiiv: ...massiivina C programmeerimiskeeles.

  - Vaade lihttekstina: ...andmevaatena koos suhtaadresside, baidiväärtuste ja märkidega.

F5 Fail Laadi uuesti

- Tühistab kõik muudatused ja laadib baidimassiivi uuesti failist.

&Ctrl;P Fail Trüki...

- Trükib aktiivse baidimassiivi.

Fail Õigused

- Määrab muutmisõigused:

  Kirjutuskaitstud

- Selle määramise korral ei saa laaditud baidimassiivi muudatusi teha.

&Ctrl;W Fail Sulge

- Sulgeb aktiivse baidimassiivi.

Fail Sulge kõik

- Sulgeb kõik baidimassiivid.

Fail Sulge kõik teised

- Sulgeb kõik baidimassiivid peale aktiivse.

&Ctrl;Q Fail Välju

- Sulgeb &okteta; akna.

### Menüü Redigeerimine

&kde; 4.4 korral saadetakse kopeerides ja lõigates andmed lõikepuhvrisse MIME tüübiga "application/octetstream", mida &klipper; ei suuda kuvada. Õieti ei suuda seda pea ükski muu rakendus, sest tegemist on puhaste toorandmetega. Niisiis tasub arvestada alammenüüga Kopeeri kui.

&Ctrl;Z Redigeerimine Võta tagasi

- Tühistab viimase toimingu.

&Ctrl;&Shift;Z Redigeerimine Tee uuesti

- Sooritab uuesti viimase tagasivõetud toimingu.

&Ctrl;X Redigeerimine Lõika

- Kustutab valitud baidid ja kopeerib need lõikepuhvrisse.

&Ctrl;C Redigeerimine Kopeeri

- Kopeerib valitud baidid lõikepuhvrisse.

&Ctrl;V Redigeerimine Aseta

- Lisab lõikepuhvrisse lõigatud või kopeeritud baidid.

Redigeerimine Kopeeri kui

- Kopeerib valitud baidid lõikepuhvrisse...

  - Väärtused: ...kodeerituna baidiväärtustena.

  - Lihttekst: ...kodeerituna märkidena.

  - Base64: ...kodeerituna Base64 vormingusse.

  - C massiiv: ...massiivina C programmeerimiskeeles.

  - Vaade lihttekstina: ...andmevaatena koos suhtaadresside, baidiväärtuste ja märkidega.

Redigeerimine Lisa

- Muster...

- Lisab kursori asukohta määratud baidistringi.

  Dialoogi valikud lubavad määrata mustri lisamiskordade arvu ja mustri vormingu (16nd-, 10nd-, 8nd- või 2nd-süsteem, märk või UTF-8).

&Ctrl;A Redigeerimine Vali kõik

- Valib kogu baidimassiivi.

&Ctrl;&Shift;A Redigeerimine Tühista valik

- Tühistab aktiivse valiku.

&Ctrl;E Redigeerimine Vali vahemik...

- Avab põimitud dialoogi valitava vahemiku määramiseks.

Ins Redigeerimine Ülekirjutamisrežiim

- Võimaldab valida lisamis- ja ülekirjutamisrežiimi vahel.

  Ülekirjutamisrežiim on äärmiselt range: andmete suurust ei ole võimalik muuta (baite ei saa lisada ega eemaldada).

&Ctrl;F Redigeerimine Otsi...

- Võimaldab otsida dokumendist määratud mustrit.Otsida saab 16nd-, 8nd-, 2nd-süsteemis või tekstimustreid.

  Dialoogi valikud lubavad määrata alguskoha, suuna ja otsinguvahemiku.

F3 Redigeerimine Otsi järgmine

- Otsib järgmist käsuga Otsi määratud mustri esinemist.

  Kui mustrit pole määratud, avatakse dialoog.

&Shift;F3 Redigeerimine Otsi eelmine

- Otsib eelmist käsuga Otsi määratud mustri esinemist.

  Kui mustrit pole määratud, avatakse dialoog.

&Ctrl;R Redigeerimine Asenda...

- Asendab otsimismustri määratud mustriga.

&Ctrl;G Redigeerimine Mine suhtaadressile...

- Liigutab kursori määratud suhtaadressile.

### Menüü Vaade

&Ctrl;+ Vaade Suurenda

- Suurendab fondi suurust.

&Ctrl;- Vaade Vähenda

- Vähendab fondi suurust.

Vaade Mittetrükitavate märkide näitamine

- Lülitab mittetrükitavate märkide näitamise sisse või välja. Kui see on väljas, näidatakse märgiveerus vastavates kohtades asendusmärke.

F11 Vaade Rea suhtaadressi näitamine

- Lülitab rea suhtaadressi näitamise vasakus paneelis sisse või välja.

Vaade Väärtuste või märkide näitamine

- Võimaldab valida, millist baiditõlgendust näidatakse. Valikud on järgmised:

  - Väärtused

  - Märgid

  - Väärtused ja märgid

Vaade Väärtuste kodeering

- Võimaldab valida väärtuste kodeeringu:

  - 16nd-süsteemis

  - 10nd-süsteemis

  - 8nd-süsteemis

  - 2nd-süsteemis

Vaade Märkide kodeering

- Võimaldab valida märkide kodeeringu alammenüüst.

Vaade Dünaamiline paigutus

- Määrab andmekuva paigutuse reeglid. Sellega sätestatakse, kui palju baite, sõltuvalt vaate laiusest, real näidatakse. Võimalikud reeglid on järgmised:

  - Väljas: paigutus on fikseeritud aktiivse baitide arvuga rea kohta ning seda ei muudeta ka vaate suuruse muutmisel.

  - Ainult täielike baidirühmade murdmine: reale seatakse võimalikult palju baite, peaasi et baidirühmad on terviklikud.

  - Sees: sama, mis eelmine, kuid lubab ka ebatäielikke baidirühmi.

Vaade Vaaterežiim

- Võimaldab valida vaate paigutuse:

  - Veerud: väärtusi ja märke näidatakse klassikalise vaatena, mõlemad omaette veerus.

  - Read: märke näidatakse otse väärtuse all.

&Ctrl;&Shift;T Vaade Poolita rõhtsuunas

- Jagab parajasti fookuses vaate ala kaheks osaks ning lisab aktiivse vaate koopia uude, alumisse osasse.

&Ctrl;&Shift;L Vaade Poolita püstsuunas

- Jagab parajasti fookuses vaate ala kaheks osaks ning lisab aktiivse vaate koopia uude, parempoolsesse osasse.

&Ctrl;&Shift;R Vaade Sulge vaateala

- Sulgeb parajasti fookuses vaate ala.

&Ctrl;&Shift;F11 Vaade Täisekraanirežiim

- Lülitab täisekraanirežiimi sisse ja välja.

### Menüü Aknad

Näitab aktiivsete vaadete nimekirja, kust saab valida aktiivse akna.

### Menüü Järjehoidjad

Ka ühte baidimassiivi võib lisada mitmeid järjehoidjaid. Igal baidimassiivil on oma järjehoidjad, mida näidatakse menüü Järjehoidjad allosas. Menüüst järjehoidjat valides viiakse kursor vajalikku kohta ning vastavalt liigub ka vaade.

Järjehoidjad on praegu ainult ajutised ning neid ei salvestata, kui sulged baidimassiivi või rakenduse.

&Ctrl;B Järjehoidjad Lisa järjehoidja

- Lisab asukoha baidimassiivis järjehoidjatesse.

&Ctrl;&Shift;B Järjehoidjad Eemalda järjehoidja

- Eemalda aktiivse järjehoidja. Seda käsku saab kasutada ainult siis, kui kursor asub järjehoidjaga asukohas.

Järjehoidjad Eemalda kõik järjehoidjad

- Puhastab järjehoidjate loendi.

&Alt;Up Järjehoidjad Liigu eelmisele järjehoidjale

- Liigutab kursori eelmisele järjehoidjale.

&Alt;Down Järjehoidjad Liigu järgmisele järjehoidjale

- Liigutab kursori järgmisele järjehoidjale.

### Menüü Tööriistad

Siin näeb paigaldatud tööriistu. Kirjete abil saab nende näitamise sisse või välja lülitada. Kõigi tööriistade täpsema kirjelduse leiab sektsioonist Tööriistad.

### Menüü Seadistused

Seadistused Tööriistariba näitamine

- Lülitab tööriistariba näitamise sisse või välja.

Seadistused Olekuriba näitamine

- Lülitab olekuriba näitamise sisse või välja.

Seadistused Kiirklahvide seadistamine...

- Võimaldab muuta rakenduse kiirklahve.

Seadistused Tööriistaribade seadistamine...

- Võimaldab muuta tööriistariba sisu.

### Menüü Abi

&help.menu.documentation;

### Tööriistariba

Tööriistariba sisaldab ikoone järgmiste käskudega:

(Kõik toimivad sarnaselt samanimelistele menüükäskudele.)

- Uus

- Ava

- Salvesta

- Lähtesta

- Trüki

- Võta tagasi

- Tee uuesti

- Lõika

- Kopeeri

- Aseta

- Otsi

- Otsi järgmine

## Autorid ja litsents

&okteta;

Rakenduse autoriõigus 2006-2010: &Friedrich.Kossebau; &Friedrich.Kossebau.email;

Dokumentatsiooni autoriõigus 2008, 2010: &Friedrich.Kossebau; &Friedrich.Kossebau.email;, &Alex.Richardson; &Alex.Richardson.email;

Tõlge eesti keelde: Marek Laane bald@smail.ee

&underFDL; &underGPL;

## Paigaldamine

### &okteta; hankimine

&install.intro.documentation;

### Kompileerimine ja paigaldamine

&install.compile.documentation;
&documentation.index;