Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : einlesen...aber richtig!



Bjoern
30-08-2002, 12:15
Hallo !

Ich hoffe ich bin hier berhaupt richtig :p ...wenn nicht kann mir vieleicht einer sagen wo`s lang geht :)

Folgende Aufgabe habe ich zu lsen:

Ich mchte aus einem Siemens Operater System ( OS 265 ) die Meldungen die noch auf einen "tollen" Nadeldrucker rausgehen in eine Datei schreiben um sie hinterher weiterzuverarbeiten (es soll eine kleine Textsuchfunktion drberlaufen).


Soweit so gut! Das ganze kommt ber die serielle Schnittstelle an und ich kriege auch was rein (das Beispiel aus der serial HOWTO) ( die relevante Zeile ist meiner Meinung nach : printf("%s",buf,res)......)

Hier nun das was ich mir in ein logfile hab schreiben lassen:

SMNS S 65-3 GZ0 //dies mte z.B. SIEMENS OS265-3 G7Z0 heien DAUM: 3.0.0 3:36:3
BAԍ AHDANPK N // und dies z.B. Fahrdatenprotokoll
-------------------------------------------------------------------------------
BAS GMBH D-6596 ANKU AM MAN GSHSBH:PHD GB.D39

SHH :................

NAM :................

ZP-N. :5
YP :GM90H
GANUA-M :BƱ30
PUV-M :BƱ360 ZNNKH.PUMPNDUK :......BA
M-5 :...... ZNNKHUNG : 9
00 KN :......G00 ZP-NKHUNG : 9̯H
SSAUS : 00 NKH.V ZP : 3

DUHSAZ AAGN :......KGH ZP AG ASU Ա56 : 30
DUHSAZ GAN : 03.KGH ZP AG AS Ա5 : 30
DUHSAZ SAKSH : 0.000KGH ZP AG NASU Ա53 : 306
GSAMDUHSAZ :0.KGH ZP AG NAS Ա5 : 30
GAD : .0 SB (NBAUN :......
ANAHDUZUNG : 6. ZN 6 -0 PYMDUK: 05BA
DHZAH N' : 0. ZN SAUGS ZP : 6BA
DSSSUNG : 900GD ZN 9 DUKS ZP : 9BA
ZN GKG : 33BA


....von der Struktur ist es ja alles in Ordnung ( auch wenn es hier etwas chaotisch aussieht :) ...aber so richtig lesen kann es keiner!

Ich habe nun folgende Aussage bekommen: Ich mte die Daten in HEX einlesen und dann in ASCII wandeln. ( An einem Drucker funktioniert die Einstellung mit der ASCII 850 Tabelle).


Und nun die Fragen:

1) Warum bekomme ich meinen Text in "Auerirdisch"? :D

2) Wie kann ich den Text wandeln bzw. wie kann ich die HEX-Rohdaten einlesen und dann z.B. in besagte ASCII 850 Tabelle wandeln?

3) Mu ich berhaupt wandeln? Kann ich die Daten vieleicht schon gleich richtig einlesen?

Habe mal "recode" ausprobiert (recode -f ASCII file.txt)( ...ich wei das die Datei berschrieben wurde...hatte mir eine kopie vom Original erstellt um rumzutffteln!), bin aber zu keinem gescheiten Ergebniss gekommen.

Es kann kein groes Problem sein! Da bin ich mir sicher... :confused:

Vielen Dank schon mal!

Gru Bjrn

kth
30-08-2002, 14:30
Zu 1): In den meisten Bytes, die du von der Schnittstelle liest, ist Bit 7 (Wert 128) anscheinend unntigerweise gesetzt.

Zu 2) und 3): Keine ultimative Lsung, macht den Text aber lesbar: Fr jedes Zeichen c, dass du einliest, kannst du das Statement c &= ~0x80; ausfhren, um Bit 7 auszumaskieren.

Vielleicht solltest du nochmal schauen, ob die Schnittstellen-Einstellungen passend gewhlt sind oder sich auf physikalischer Ebene Bitkipper einschleichen.

Falls du von Codepage 850 nach ISO 8859-1 (Latin-1) konvertieren willst:

recode 850 file

bzw.

recode 850/ file (fr den Fall, dass der Text schon Unix-Zeilenenden besitzt)

Wenn du den Dateinamen nicht direkt bergibst, sondern die Daten auf der Standardeingabe anreichst, landet der konvertierte Text auf der Standardausgabe.

--Kai

Rot
30-08-2002, 15:09
Hi,
dein Problem scheint mir mehr in der Auswahl der Bits zu liegen. Es sieht fr mich so aus, da du ein Problem mit party oder 7 bzw 8 Bit hast.
mfg
Rot

Bjoern
30-08-2002, 15:09
Hallo Kai!

Vielen Dank erstmal fr deine Antwort!!!

Habe momentan keine Zeit zum Ausprobieren, aber den Tipp mit den Hardwareeinstellungen werde ich mal genauer betrachten...es knnte gut mglich sein das ich mir da einen klassischen Bug eingebaut habe!!!

Ich habe nmlich ein kleines Testprogramm auf einem Win-Rechner...und das schickt mir auch stink normale ASCII Zeichen...und da geht es!!! Da wird alles Einwandfrei bersetzt!!! Deswegen denke ich knnte es daran liegen....schau mer mal!!

...also: Vielen Dank nochmal...ich habe wieder eine Spur der ich nachgehen kann! Werde ber Erfolg oder Mierfolg berichten!

Gru Bjrn

PS.: Und schnes Wochenende!

Bjoern
30-08-2002, 15:15
Hi Rot!

Ich befrchte auch das daran liegt...habe einfach blind die Einstellungen bernommen...bin halt doch ein Lin(F)ux :D

Am Montag kann ich mehr dazu sagen!!!

Auch dir ...und natrlich allen andern ein schnes Wochenende!

Bjoern
02-09-2002, 09:36
So habs eben ausprobiert...und mit 7N1 funktioniert es...die Umlaute werde ich dann auch noch hinkriegen :D das sollte dann aber mit recode klappen! Schau mer mal!

Danke!!!

Gru Bjrn

Rot
02-09-2002, 09:46
Hi Bjoern,

denn mal tau

bis dann
Rot