7Bit ASCII Datei Lesen und darstellen?
-
Hallo,
hat hier jemand reinzufällig ein paar quellen zum lesen und darstellen
von 7Bit ASCII Dateien. Also ich will eine Datei lesen in der Text
im 7Bit format gespeichert ist, und disen in 8Bit konvertieren um
ihn auf dem bildschirm darszustellen.Und wer jetzt sagt ich sei faul ... der hat recht
Danke fürs durchlesen
PS: Das neue Design ist leicht Gewöhnungsbedürftigt
-
7Bit to 8Bit schrieb:
hat hier jemand reinzufällig ein paar quellen zum lesen und darstellen
von 7Bit ASCII Dateien.google schon gefragt?
-
Ja habe ich,
hab dabei aber nichts vernünftiges gefunden!
-
Häh? Da gibts nen Unterschied, ausser, dass bei 7Bit Encoding Bit 7 immer 0 ist? Das wär mir jetzt allerdings recht neu... 1 Byte hat nun immer 8Bit ob da allerdings alle genutzt sind bleibt allen freigestellt...
-junix
-
naja, wenn man genau weiss, dass bit 8 immer ungenutzt ist, kann man natuerlich alles etwas verdichten, damit die datei 1/8 kleiner wird. so hab ich das frueher in pascal auch mit 64-farb bildern gemacht.
-
Klar, aber dann verwendet man ja so oder so keine Standard-Funktionen mehr um zu lesen/schreiben... Dann muss man hald die Bytes selber auseinandershiften...
-junix
-
static int bit7[] = { 64,163,36,165,232,233,250,236,242,199,10,216, 248,13,197,229,63,95,63,63,63,63,63,63,63,63, 63,63,198,230,223,202,32,33,34,35,164,37,38, 39,40,41,42,43,44,45,46,47,48,49,50,51,52, 53,54,55,56,57,58,59,60,61,62,63,161,65,66,67, 68,69,70,71,72,73,74,75,76,77,78,79,80, 81,82,83,84,85,86,87,88,89,90,196,214,209, 220,167,191,97,98,99,100,101,102,103,104,105, 106,107,108,109,110,111,112,113,114,115,116, 117,118,119,120,121,122,228,246,241,252,224 }; void B8ZuB7(short *binary, char *message, short n) { int i,j,k; int potenz; j=7; for(i=k=0; i<n; ++i, ++k) { if(j==-1) { j=7; potenz=(int)pow(2.0,j)-1; i ? --i : 0; message[k]=binary[i] & potenz; } else potenz=(int)pow(2.0,j)-1; message[k]=(binary[i-1]>>(j+1) ) | ((binary[i] & potenz)<<(7-j)); --j; } for(i=0; i<n; ++i) message[i]=bit7[message[i]]; message[n]='\0'; }
Also du liest die Datei mit fgetc aus und speicherst die 8Byte Werte in ein
short Array. Dieses Shortarray übergibst du als ersten param danach dein Zeil-
array für die 8Bit Zeichen und am ende noch die anzahl der short array elemente.