Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > de.comp.lang.python > #6200

Re: for unpacking

From Hermann Riemann <nospam.ng@hermann-riemann.de>
Newsgroups de.comp.lang.python
Subject Re: for unpacking
Date 2024-08-13 19:36 +0200
Message-ID <li1jsqF3bsbU1@mid.individual.net> (permalink)
References (7 earlier) <slrnvbhou6.ad6k.hjp-usenet4@trintignant.hjp.at> <lhso52Fat17U1@mid.individual.net> <slrnvbic3o.bgie.hjp-usenet4@trintignant.hjp.at> <lhvojpFp8anU1@mid.individual.net> <Dateinamen-20240813120548@ram.dialup.fu-berlin.de>

Show all headers | View raw


Am 13.08.24 um 13:16 schrieb Stefan Ram:
> Hermann Riemann <nospam.ng@hermann-riemann.de> schrieb oder zitierte:
>> Python macht z.B. Probleme in os.walk bei ISO in Dateinamen.
> 
>    Unter Linux ist heute UTF-8 die Standardkodierung. Mit
>    Systemvariablen wie "LANG" oder "LC_CTYPE" könnte man dies
>    vielleicht umstellen.
> 
>    Es dürfte Probleme bereiten, falls auf einem System Dateinamen
>    mal in UTF-8 und mal in ISO-8859-1 kodiert sind. Einfacher ist
>    es vielleicht, alle auf UTF-8 umzustellen oder wenigstens die
>    Bereiche irgendwie voneinander zu trennen.

Inden Anfangszeiten von UTF-8 haben Editoren manchmal UTF-8, manchmal 
ISO abgesetzt. Das Ergebnis waren Dateien, in denen ISO und UTF-8
gemischt waren. Mit einem C Programm habe ich das reparieren können,
da die in ISO verwendete ä ö ü etc keinem utf-8 entsprachen.

>    Python verläßt sich bei der Interpretation von Dateinamen wohl
>    zunächst auf die Angaben des Betriebssystems. Es ist vielleicht
>    schwierig, von Python aus die nicht-interpretierten Oktette eines
>    Dateinamens zu erhalten. Dadurch ist die Arbeit mit Dateinamen
>    bei gemischten Codierungen in Python manchmal schwierig!

Wen Namen entweder ISO oder UTF-8 sind kann mit try und
Umkodierung bei except das Problem gelöst werden.
Wenn Python keine ISO Dateinamen kann, kann mit C nachgeholfen werden.
Oder über GUI. Die Kommandooberfläche ist auch allergisch gegen ISO.

Nach meiner Erinnerung dürfen Dateinamen in Unix alle Werte außer
'\0' und '/' erhalten.

Probiere folgendes.
Lege das Verzeichnis test z.B. unter tmp an
Übersetze in /tmp folgendes Programm
und führe a.out aus.
Dann wechsele nach /tmp/test und habe viel Spaß mit Kommandos.

#include <stdio.h>
#include <stdlib.h>

void xopen(char *name){
    char buf[60];
    sprintf(buf,"test/%s",name);
    char *p;
    FILE *f;
    printf("%s\n",name);
    for (p=name;*p;p++) printf("%2X ",*p);
    printf("\n");
    f=fopen(buf,"w");
    fprintf(f," ");
    fclose  (f);}

int main(){
    int i;
    char buf[60];
    xopen("\"\';\\ @&");
    buf[0]='_';
    for (i=1;i<60;i++) buf[i]=0;
    for (i=1;i<33;i++) buf[i]=i;
    xopen(buf);
    printf("fertig\n"); return 0;}

-- 
<http://www.hermann-riemann.de>

Back to de.comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2024-08-06 22:57 +0200
  Re: for unpacking "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2024-08-06 23:45 +0200
    Re: for unpacking "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2024-08-07 13:24 +0200
  Re: for unpacking "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2024-08-07 00:02 +0200
    Re: for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2024-08-07 11:54 +0200
      Re: for unpacking "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2024-08-07 13:21 +0200
        Re: for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2024-08-07 22:58 +0200
    Re: for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2024-08-09 22:18 +0200
      Re: for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2024-08-10 12:07 +0200
        Re: for unpacking "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2024-08-10 13:49 +0200
      Re: for unpacking "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2024-08-10 12:46 +0200
        Re: for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2024-08-10 22:09 +0200
          Re: for unpacking "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2024-08-11 12:26 +0200
            Re: for unpacking "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2024-08-11 15:05 +0200
              Re: for unpacking "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2024-08-11 17:44 +0200
            Re: for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2024-08-11 17:26 +0200
              Re: for unpacking "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2024-08-11 18:16 +0200
                Re: for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2024-08-11 23:18 +0200
                Re: for unpacking "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2024-08-11 23:43 +0200
                Re: for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2024-08-12 21:03 +0200
                Re: for unpacking Hermann Riemann <nospam.ng@hermann-riemann.de> - 2024-08-13 02:44 +0200
                Re: for unpacking Hermann Riemann <nospam.ng@hermann-riemann.de> - 2024-08-13 19:36 +0200
                Re: for unpacking "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2024-08-13 19:47 +0200
                Re: for unpacking Hermann Riemann <nospam.ng@hermann-riemann.de> - 2024-08-14 04:38 +0200
                Re: for unpacking "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2024-08-14 08:26 +0200
                Re: for unpacking Hermann Riemann <nospam.ng@hermann-riemann.de> - 2024-08-14 10:25 +0200
                Re: for unpacking "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2024-08-14 13:22 +0200
                Re: for unpacking Hermann Riemann <nospam.ng@hermann-riemann.de> - 2024-08-14 14:45 +0200
                Re: for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2024-08-12 21:06 +0200
                Re: for unpacking "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2024-08-13 00:24 +0200
                Re: for unpacking Hermann Riemann <nospam.ng@hermann-riemann.de> - 2024-08-14 14:41 +0200
                Re: for unpacking Hermann Riemann <nospam.ng@hermann-riemann.de> - 2024-08-14 18:39 +0200
                Re: for unpacking Ralph Aichinger <ralph@pi.h5.or.at> - 2024-08-14 17:05 +0000
                Re: for unpacking Hermann Riemann <nospam.ng@hermann-riemann.de> - 2024-08-15 05:44 +0200
                Re: for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2024-08-16 13:31 +0200
                Re: for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2024-08-13 23:06 +0200
                Re: for unpacking "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2024-08-13 23:19 +0200
                Re: for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2024-08-14 21:11 +0200
                Re: for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2024-08-14 21:08 +0200
        Re: for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2025-10-06 22:46 +0200
          Re: for unpacking "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-10-06 23:37 +0200
            Re: for unpacking Hermann Riemann <nospam.ng@hermann-riemann.de> - 2025-10-07 09:01 +0200
              Re: for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2025-10-07 14:22 +0200
                Re: for unpacking ram@zedat.fu-berlin.de (Stefan Ram) - 2025-10-07 13:13 +0000
                Re: for unpacking Hermann Riemann <nospam.ng@hermann-riemann.de> - 2025-10-07 15:34 +0200
                Re: for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2025-10-07 22:57 +0200
            Re: for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2025-10-10 21:50 +0200
  [Python-de] Re: for unpacking Mike Müller <mmueller@python-academy.de> - 2024-08-07 09:14 +0200
    Re: [Python-de] Re: for unpacking Patrick Rudin <taxi_bs@gmx.ch> - 2024-08-07 11:57 +0200
      Re: [Python-de] Re: for unpacking "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2024-08-08 23:18 +0200
      [Python-de] Re: for unpacking Mike Müller <mmueller@python-academy.de> - 2024-08-09 08:03 +0200
  Re: for unpacking Hermann Riemann <nospam.ng@hermann-riemann.de> - 2024-08-07 12:35 +0200

csiph-web