Readbyte

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Readbyte

Beitrag von Konne »

Ich habe versucht aus einer Textdatei mit dem Befehl Readbyte() alle Bytes auszulesen, meine Fragen dazu sind:

1)Manche Werte wie äöüß werden als negative Zahlen ausgelesen wie kann ich das so ändern das ein gültiger ascii wert herauskommt?
2)Wird der Header der Datei mitgelesen
3)Wie kann ich exen usw... ohne Datenverlust oder verfälchungen in ASCIi Werte einlesen

Danke für Antworten und Problemlösungen...
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

ReadByte()&$FF dürfte die Antwort auf deine Fragen sein. PB Speichert Variablen mit einem Vorzeichen. Auch als Signed bekannt. Wenn du die Methode anwendest, musst du natürlich den ASCII Wert in einer größeren (Long) Variable speichern.
Bild
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

Wie meinst du das mit exe in ascii anzeigen?
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag von Ynnus »

MVXA hat geschrieben:ReadByte()&$FF dürfte die Antwort auf deine Fragen sein. PB Speichert Variablen mit einem Vorzeichen. Auch als Signed bekannt. Wenn du die Methode anwendest, musst du natürlich den ASCII Wert in einer größeren (Long) Variable speichern.
Ich würde sagen, die werden negativ weil sie den Bereich von 7 bit sprengen. Nimmt man nun word oder long dann muss man sie nicht noch extra per & Verknüpfen sondern schlichtweg auslesen. Das ist nur eine Theorie und nicht getestet. Denn so manche Funktion in PB kann durchaus mit unsigned byte arbeiten, macht aber Probleme wenn man die Daten in signed byte schreiben will.

Was den Header betrifft, natürlich wird dieser mitgelesen. Sogesehen ist der Header nichts weiter als eine Anordnung von Byte die nach einem gewissen Schema festgelegt ist. Du fängst bei 0 byte mit dem Einlesen an und endest am Dateiende. Dann musst du selber Sorge tragen wo der Header endet um Daten von Header zu unterscheiden. ;)
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Teste es doch mal Sunny :twisted:...
Bild
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag von Ynnus »

MVXA hat geschrieben:Teste es doch mal Sunny :twisted:...
Geht nicht, hab PB gerade bei Seite gelegt. :twisted:
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag von DrShrek »

Sunny hat geschrieben:Geht nicht, hab PB gerade bei Seite gelegt. :twisted:
Schade.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Readbyte

Beitrag von NicTheQuick »

Konne hat geschrieben:Ich habe versucht aus einer Textdatei mit dem Befehl Readbyte() alle Bytes auszulesen, meine Fragen dazu sind:

1)Manche Werte wie äöüß werden als negative Zahlen ausgelesen wie kann ich das so ändern das ein gültiger ascii wert herauskommt?

Code: Alles auswählen

Byte.l = ReadByte() & $FF
2)Wird der Header der Datei mitgelesen
Wenn die Datei überhaupt einen Header hat, wird der natürlich mitgelesen. Ein Header besteht auch nur aus Bits und Bytes.
3)Wie kann ich exen usw... ohne Datenverlust oder verfälchungen in ASCIi Werte einlesen

Code: Alles auswählen

Byte.l = ReadByte() & $FF

Danke für Antworten und Problemlösungen...
Bitte
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Danke jetzt krieg ichs hin auser das mit den exen einlesen :allright:
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag von Ynnus »

Wo gibts da denn Probleme? It doch auch nichts anderes als jede andere beliebige Datei einlesen.
Antworten