Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.os.unix.shell > #14640 > unrolled thread
| Started by | Martin Klaiber <usenet.martinkl@gmx.de> |
|---|---|
| First post | 2026-03-07 13:07 +0100 |
| Last post | 2026-03-08 14:09 +0100 |
| Articles | 16 on this page of 36 — 12 participants |
Back to article view | Back to de.comp.os.unix.shell
System und Shell-Scripte: Latin-1 zu UTF-8 Martin Klaiber <usenet.martinkl@gmx.de> - 2026-03-07 13:07 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Tim Ritberg <tim@server.invalid> - 2026-03-07 13:17 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Martin Klaiber <usenet.martinkl@gmx.de> - 2026-03-07 16:34 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Ralph Aichinger <ra@h5.or.at> - 2026-03-07 12:35 +0000
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Martin Klaiber <usenet.martinkl@gmx.de> - 2026-03-07 16:33 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Thomas Hochstein <thh@thh.name> - 2026-03-07 14:04 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Urs Janßen <urs@niko.tin.org> - 2026-03-07 15:36 +0000
Re: System und Shell-Scripte: Latin-1 zu UTF-8 ram@zedat.fu-berlin.de (Stefan Ram) - 2026-03-07 16:38 +0000
Re: System und Shell-Scripte: Latin-1 zu UTF-8 ram@zedat.fu-berlin.de (Stefan Ram) - 2026-03-07 16:48 +0000
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Urs Janßen <urs@niko.tin.org> - 2026-03-07 16:51 +0000
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2026-03-07 20:02 +0000
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Urs Janßen <urs@niko.tin.org> - 2026-03-07 20:45 +0000
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Urs Janßen <urs@niko.tin.org> - 2026-03-07 20:50 +0000
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Helmut Waitzmann <nn.throttle@erine.email> - 2026-03-08 01:25 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Martin Klaiber <usenet.martinkl@gmx.de> - 2026-03-07 16:29 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Stefan Wiens <s.wi@gmx.net> - 2026-03-07 23:12 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Martin Klaiber <usenet.martinkl@gmx.de> - 2026-03-08 00:42 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Helmut Waitzmann <nn.throttle@erine.email> - 2026-03-08 03:40 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Stefan Wiens <s.wi@gmx.net> - 2026-03-08 06:14 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Stefan Wiens <s.wi@gmx.net> - 2026-03-08 10:47 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Helmut Waitzmann <nn.throttle@erine.email> - 2026-03-08 19:05 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Stefan Wiens <s.wi@gmx.net> - 2026-03-08 20:40 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Helmut Waitzmann <nn.throttle@erine.email> - 2026-03-08 22:29 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Stefan Wiens <s.wi@gmx.net> - 2026-03-08 23:27 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Stefan Wiens <s.wi@gmx.net> - 2026-03-08 09:36 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Stefan Wiens <s.wi@gmx.net> - 2026-03-08 07:17 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Stefan Wiens <s.wi@gmx.net> - 2026-03-08 09:56 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Ralph Aichinger <ra@h5.or.at> - 2026-03-08 09:11 +0000
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Stefan Wiens <s.wi@gmx.net> - 2026-03-08 10:19 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Ralph Aichinger <ra@h5.or.at> - 2026-03-08 10:25 +0000
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2026-03-08 10:41 +0000
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Stefan Wiens <s.wi@gmx.net> - 2026-03-08 11:52 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Hergen Lehmann <hlehmann-usenet26@snafu.de> - 2026-03-08 10:03 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Michael Bäuerle <michael.baeuerle@gmx.net> - 2026-03-08 10:56 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Stefan Wiens <s.wi@gmx.net> - 2026-03-08 11:19 +0100
Re: System und Shell-Scripte: Latin-1 zu UTF-8 Michael Bäuerle <michael.baeuerle@gmx.net> - 2026-03-08 14:09 +0100
Page 2 of 2 — ← Prev page 1 [2]
| From | Helmut Waitzmann <nn.throttle@erine.email> |
|---|---|
| Date | 2026-03-08 19:05 +0100 |
| Message-ID | <83a4wi19k1.fsf@helmutwaitzmann.news.arcor.de> |
| In reply to | #14658 |
Stefan Wiens <s.wi@gmx.net>: > Helmut Waitzmann <nn.throttle@erine.email> writes: > >> Alternativ könnte man auch die Ausgabe von „bc“ durch „tr“ >> schieben, um jegliche Punkte durch Kommata zu ersetzen: >> >> >> printf '%s\n' '4/3' | [...] > > tr(1) ist ein gutes Beispiel, wo es hakeln könnte. > Hier (GNU coreutils) 9.1: > > ,----[ (coreutils) Character arrays ] > | The interpretation of STRING1 and STRING2 depends on locale. GNU > | ‘tr’ fully supports only safe single-byte locales, where each possible > | input byte represents a single character. Unfortunately, this means GNU > | ‘tr’ will not handle commands like ‘tr $'\u7530' $'\u68EE'’ the way you > | might expect, since (assuming a UTF-8 encoding) this is equivalent to > | ‘tr '\347\224\260' '\346\243\256'’ and GNU ‘tr’ will simply > | transliterate all ‘\347’ bytes to ‘\346’ bytes, etc. POSIX does not > | clearly specify the behavior of ‘tr’ in locales where characters are > | represented by byte sequences instead of by individual bytes, or where > | data might contain invalid bytes that are encoding errors. To avoid > | problems in this area, you can run ‘tr’ in a safe single-byte locale by > | using a shell command like ‘LC_ALL=C tr’ instead of plain ‘tr’. > `---- > Ja, richtig. LC_ALL=C kann auch in meinem Fall, in dem sowohl das Komma als auch der Punkt Teil des ASCII sind, nicht schaden. > $ echo klöä | LC_ALL=de_DE.UTF8 tr [:lower:] [:upper:] Und es empfiehlt sich, ins Shell‐Quoting zu investieren. Ein Beispiel, wo man ohne Shell‐Quoting scheitert: touch -- e && printf '%s\n' klein | LC_ALL=C tr [:lower:] [:upper:] zeigt, warum LC_ALL=C tr '[:lower:]' '[:upper:]' nötig ist.
[toc] | [prev] | [next] | [standalone]
| From | Stefan Wiens <s.wi@gmx.net> |
|---|---|
| Date | 2026-03-08 20:40 +0100 |
| Message-ID | <87342ap0zv.fsf@s-bot.de> |
| In reply to | #14672 |
[Quoting repariert] Helmut Waitzmann <nn.throttle@erine.email> writes: > Stefan Wiens <s.wi@gmx.net>: >> Helmut Waitzmann <nn.throttle@erine.email> writes: >> >>> Alternativ könnte man auch die Ausgabe von „bc“ durch „tr“ >>> schieben, um jegliche Punkte durch Kommata zu ersetzen: printf >>> '%s\n' '4/3' | [...] >> >> tr(1) ist ein gutes Beispiel, wo es hakeln könnte. >> Hier (GNU coreutils) 9.1: [...] > > Ja, richtig. LC_ALL=C kann auch in meinem Fall, in dem sowohl das > Komma als auch der Punkt Teil des ASCII sind, nicht schaden. >> $ echo >> klöä | LC_ALL=de_DE.UTF8 tr [:lower:] [:upper:] > > Und es empfiehlt sich, ins Shell‐Quoting zu investieren. Ein > Beispiel, wo man ohne Shell‐Quoting scheitert: touch -- e && > printf '%s\n' klein | LC_ALL=C tr [:lower:] [:upper:] > > zeigt, warum LC_ALL=C tr '[:lower:]' '[:upper:]' > nötig ist. Könntest du erklären, was bei deinem Beispiel passiert? (Mein Beispiel betrifft es nicht direkt.) -- Stefan
[toc] | [prev] | [next] | [standalone]
| From | Helmut Waitzmann <nn.throttle@erine.email> |
|---|---|
| Date | 2026-03-08 22:29 +0100 |
| Message-ID | <83342a103p.fsf@helmutwaitzmann.news.arcor.de> |
| In reply to | #14673 |
Stefan Wiens <s.wi@gmx.net>: > Helmut Waitzmann <nn.throttle@erine.email> writes: >> Stefan Wiens <s.wi@gmx.net>: >>> $ echo >>> klöä | LC_ALL=de_DE.UTF8 tr [:lower:] [:upper:] >> >> Und es empfiehlt sich, ins Shell‐Quoting zu investieren. Ein >> Beispiel, wo man ohne Shell‐Quoting scheitert: >> >> >> touch -- e && >> printf '%s\n' klein | LC_ALL=C tr [:lower:] [:upper:] >> >> zeigt, warum >> >> >> LC_ALL=C tr '[:lower:]' '[:upper:]' >> >> nötig ist. >> > > Könntest du erklären, was bei deinem Beispiel passiert? > Wenn man „set -x“ einschaltet, sieht man es direkt: touch -- e printf '%s\n' klein | ( set -x && LC_ALL=C tr [:lower:] [:upper:] ) Erklärung: „[:lower:]“ ist für das Shell gleichzeitig ein filename globbing pattern, das auf einen Dateinamen passt, der aus einem einzigen Zeichen aus der Menge der Zeichen „:“, „l“, „o“, „w“, „e“ und „r“ besteht. Da es wegen „touch -- e“ einen Dateinamen gibt, der auf dieses Dateinamensmuster passt, ersetzt das Shell „[:lower:]“ durch „e“ (und weitere Dateinamen, falls es im Arbeitsverzeichnis noch weitere passende geben sollte). Nur im Fall, dass kein passender Dateiname vorhanden oder die Shell‐Option „set -f“ eingeschaltet ist, übergibt das Shell (beim Bash: abhängig von den Shell‐Optionen „nullglob“ und „failglob“) den Parameter „[:lower:]“ so, wie er dasteht, an „tr“.
[toc] | [prev] | [next] | [standalone]
| From | Stefan Wiens <s.wi@gmx.net> |
|---|---|
| Date | 2026-03-08 23:27 +0100 |
| Message-ID | <87wlzmnejd.fsf@s-bot.de> |
| In reply to | #14674 |
Helmut Waitzmann <nn.throttle@erine.email> writes: > Stefan Wiens <s.wi@gmx.net>: >> Helmut Waitzmann <nn.throttle@erine.email> writes: >>> Stefan Wiens <s.wi@gmx.net>: >>>> $ echo >>>> klöä | LC_ALL=de_DE.UTF8 tr [:lower:] [:upper:] >>> >>> Und es empfiehlt sich, ins Shell‐Quoting zu investieren. Ein >>> Beispiel, wo man ohne Shell‐Quoting scheitert: touch -- e && >>> printf '%s\n' klein | LC_ALL=C tr [:lower:] [:upper:] >>> >>> zeigt, warum LC_ALL=C tr '[:lower:]' '[:upper:]' >>> >>> nötig ist. >> >> Könntest du erklären, was bei deinem Beispiel passiert? > > Wenn man „set -x“ einschaltet, sieht man es direkt: touch -- e > printf '%s\n' klein | > ( set -x && LC_ALL=C tr [:lower:] [:upper:] ) > > > Erklärung: „[:lower:]“ ist für das Shell gleichzeitig ein filename > globbing pattern, das auf einen Dateinamen passt, der aus einem > einzigen Zeichen aus der Menge der Zeichen „:“, „l“, „o“, „w“, „e“ > und „r“ besteht. Da es wegen „touch -- e“ einen Dateinamen gibt, der > auf dieses Dateinamensmuster passt, ersetzt das Shell „[:lower:]“ > durch „e“ (und weitere Dateinamen, falls es im Arbeitsverzeichnis > noch weitere passende geben sollte). Nur im Fall, dass kein > passender Dateiname vorhanden oder die Shell‐Option „set -f“ > eingeschaltet ist, übergibt das Shell (beim Bash: abhängig von den > Shell‐Optionen „nullglob“ und „failglob“) den Parameter „[:lower:]“ > so, wie er dasteht, an „tr“. Danke. -- Stefan
[toc] | [prev] | [next] | [standalone]
| From | Stefan Wiens <s.wi@gmx.net> |
|---|---|
| Date | 2026-03-08 09:36 +0100 |
| Message-ID | <875x76rbop.fsf@s-bot.de> |
| In reply to | #14655 |
Martin Klaiber <usenet.martinkl@gmx.de> writes: > Stefan Wiens <s.wi@gmx.net> wrote: > >> Abgesehen vom Konvertieren der Skripte >> mittels iconv sollte man auch darauf >> achten, dass sämtliche dort verwendeten >> Tools UTF-8-kompatibel sind und auf die >> locale, insbesondere LC_CTYPE adäquat >> reagieren. > > Ja, danke, guter Tipp! > > Denkst Du an ein bestimmtes Szenario? > > Ich habe jetzt schon das "Problem", dass printf das Komma als > Dezimaltrennzeichen bei einer deutschen locale kennt, aber bc nicht, > sondern nur den Punkt. > > Ich meine so etwas wie: > >| martinkl@maurice:~$ printf "%f\n" $(echo "4/3" | bc -l) >| -bash: printf: 1.33333333333333333333: invalid number >| 1,000000 > > Ich muss immer LC_NUMERIC=C setzen, damit printf den Dezimalpunkt > akzeptiert: Bei bc(1) ist der Punkt als Dezimaltrenner tatsächlich festgelegt. LC_CTYPE könnte den Umbruch bei überlanger Ausgabe beeinflussen, darüber hinaus, was als LETTER als Variablen- oder Funktionsname akzeptiert wird. Aber bei GNU bc 1.07.1: ,----[ bc(1) ] | DIFFERENCES | [...] | LANG environment | This version does not conform to the POSIX standard in the pro‐ | cessing of the LANG environment variable and all environment | variables starting with LC_. `---- -- Stefan
[toc] | [prev] | [next] | [standalone]
| From | Stefan Wiens <s.wi@gmx.net> |
|---|---|
| Date | 2026-03-08 07:17 +0100 |
| Message-ID | <87bjgyrhgn.fsf@s-bot.de> |
| In reply to | #14640 |
Martin Klaiber <usenet.martinkl@gmx.de> writes: [...]> > Diese Scripte haben alle einen 8-bit-Zeichensatz (Latin-1, ISO-8859-1). > Die gesamte Bildschirmausgabe, Formatierung, usw. ist darauf ausgelegt. > Wenn ich einen neuen Rechner in meinen "Zoo" aufgenommen habe, hatte > ich seinen Zeichensatz ebenfalls auf Latin-1 eingestellt. > > Nun wird aber UTF-8 in den letzten Jahren immer mehr zum default. Ich > merke es daran, dass es immer häufiger Hakeleien gibt. Und anstatt > ständig gegen die Veränderung anzukämpfen, die sich ohnehin nicht > mehr aufhalten lässt, überlege ich, alle meine selbstgeschriebenen > Script-Programme auf UTF-8 umzustellen. Es geht um rund 1200 Scripte. Ein weiterer Aspekt: Dateinamen außerhalb des ,----[ <https://pubs.opengroup.org/onlinepubs/009695399/> ] | 3.276 Portable Filename Character Set | The set of characters from which portable filenames are constructed. | | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z | a b c d e f g h i j k l m n o p q r s t u v w x y z | 0 1 2 3 4 5 6 7 8 9 . _ - `---- sind interpretationsabhängig. Dateinamen sind vom Typ char * (nicht wchar_t *); Dateinamen, die in einer ISO-8859-1-Umgebung erzeugt wurden, entsprechen nicht unbedingt denen unter UTF-8. -- Stefan
[toc] | [prev] | [next] | [standalone]
| From | Stefan Wiens <s.wi@gmx.net> |
|---|---|
| Date | 2026-03-08 09:56 +0100 |
| Message-ID | <87wlzmpuuf.fsf@s-bot.de> |
| In reply to | #14659 |
Ingrid Stefan Wiens <s.wi@gmx.net> writes: > ,----[ <https://pubs.opengroup.org/onlinepubs/009695399/> ] >| 3.276 Portable Filename Character Set Der vollständige Link: <https://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap03.html#tag_03_276> -- Stefan
[toc] | [prev] | [next] | [standalone]
| From | Ralph Aichinger <ra@h5.or.at> |
|---|---|
| Date | 2026-03-08 09:11 +0000 |
| Message-ID | <10ojege$1pu1f$1@gwaiyur.mb-net.net> |
| In reply to | #14661 |
Stefan Wiens <s.wi@gmx.net> wrote: > Ingrid Stefan Wiens <s.wi@gmx.net> writes: > >> ,----[ <https://pubs.opengroup.org/onlinepubs/009695399/> ] >>| 3.276 Portable Filename Character Set > > Der vollständige Link: > <https://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap03.html#tag_03_276> Sorry falls es schon erwähnt wurde: Gehört der Space prinzipiell auch dazu? /ralph
[toc] | [prev] | [next] | [standalone]
| From | Stefan Wiens <s.wi@gmx.net> |
|---|---|
| Date | 2026-03-08 10:19 +0100 |
| Message-ID | <87pl5eptrj.fsf@s-bot.de> |
| In reply to | #14662 |
Ralph Aichinger <ra@h5.or.at> writes: > Stefan Wiens <s.wi@gmx.net> wrote: >> Ingrid Stefan Wiens <s.wi@gmx.net> writes: >> >>> ,----[ <https://pubs.opengroup.org/onlinepubs/009695399/> ] >>>| 3.276 Portable Filename Character Set >> >> Der vollständige Link: >> <https://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap03.html#tag_03_276> > > Sorry falls es schon erwähnt wurde: Gehört der Space prinzipiell auch > dazu? | The last three characters are the period, underscore, and hyphen characters, respectively. Sonst nichts außer ALNUM. Ich selbst nutze ':' ausgiebig in zeitstempelbasierten Dateinamen, geht halt nicht bei Windows, und '~' ist bei vielen Textverarbeitungen beliebt. -- Stefan
[toc] | [prev] | [next] | [standalone]
| From | Ralph Aichinger <ra@h5.or.at> |
|---|---|
| Date | 2026-03-08 10:25 +0000 |
| Message-ID | <10ojiqa$1pv7s$4@gwaiyur.mb-net.net> |
| In reply to | #14663 |
Stefan Wiens <s.wi@gmx.net> wrote: > Ralph Aichinger <ra@h5.or.at> writes: > >> Stefan Wiens <s.wi@gmx.net> wrote: >>> Ingrid Stefan Wiens <s.wi@gmx.net> writes: >>> >>>> ,----[ <https://pubs.opengroup.org/onlinepubs/009695399/> ] >>>>| 3.276 Portable Filename Character Set >>> >>> Der vollständige Link: >>> <https://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap03.html#tag_03_276> >> >> Sorry falls es schon erwähnt wurde: Gehört der Space prinzipiell auch >> dazu? > > | The last three characters are the period, underscore, and hyphen characters, respectively. > > Sonst nichts außer ALNUM. OK, darf ich dann so dumm fragen *warum* der Space (ASCII 0x20) nicht dazugehört? Ideen dazu? > Ich selbst nutze ':' ausgiebig in > zeitstempelbasierten Dateinamen, > geht halt nicht bei Windows, und > '~' ist bei vielen Textverarbeitungen > beliebt. Wenn man "naive" Nutzer hat wird es Spaces in Dateien geben. /ralph
[toc] | [prev] | [next] | [standalone]
| From | Ulli Horlacher <framstag@rus.uni-stuttgart.de> |
|---|---|
| Date | 2026-03-08 10:41 +0000 |
| Message-ID | <10ojjnu$fkv$2@rusnews.informatik.uni-stuttgart.de> |
| In reply to | #14668 |
Ralph Aichinger <ra@h5.or.at> wrote: >>>>> ,----[ <https://pubs.opengroup.org/onlinepubs/009695399/> ] >>>>>| 3.276 Portable Filename Character Set >>>> >>>> Der vollständige Link: >>>> <https://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap03.html#tag_03_276> >>> >>> Sorry falls es schon erwähnt wurde: Gehört der Space prinzipiell auch >>> dazu? >> >> | The last three characters are the period, underscore, and hyphen characters, respectively. >> >> Sonst nichts außer ALNUM. > > OK, darf ich dann so dumm fragen *warum* der Space (ASCII 0x20) nicht > dazugehört? Ideen dazu? Meine Vermutung: Es gibt POSIX Systeme, bei denen Space im Filename nicht erlaubt ist. Ausserdem sind solche Dateinamen UHHAERX in der Shell :-} > Wenn man "naive" Nutzer hat wird es Spaces in Dateien geben. Nur wenn das Filesystem das unterstuetzt. -- Ullrich Horlacher Server und Virtualisierung Rechenzentrum TIK Universitaet Stuttgart E-Mail: horlacher@tik.uni-stuttgart.de Allmandring 30a Tel: ++49-711-68565868 70569 Stuttgart (Germany) WWW: https://www.tik.uni-stuttgart.de/
[toc] | [prev] | [next] | [standalone]
| From | Stefan Wiens <s.wi@gmx.net> |
|---|---|
| Date | 2026-03-08 11:52 +0100 |
| Message-ID | <878qc2ppsn.fsf@s-bot.de> |
| In reply to | #14668 |
Ralph Aichinger <ra@h5.or.at> writes: > Stefan Wiens <s.wi@gmx.net> wrote: >> Ralph Aichinger <ra@h5.or.at> writes: >> >>> Stefan Wiens <s.wi@gmx.net> wrote: >>>> Ingrid Stefan Wiens <s.wi@gmx.net> writes: >>>> >>>>> ,----[ <https://pubs.opengroup.org/onlinepubs/009695399/> ] >>>>>| 3.276 Portable Filename Character Set >>>> >>>> Der vollständige Link: >>>> <https://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap03.html#tag_03_276> >>> >>> Sorry falls es schon erwähnt wurde: Gehört der Space prinzipiell auch >>> dazu? >> >> | The last three characters are the period, underscore, and hyphen characters, respectively. >> >> Sonst nichts außer ALNUM. > > OK, darf ich dann so dumm fragen *warum* der Space (ASCII 0x20) nicht > dazugehört? Ideen dazu? Vielleicht weiß jemand anderes mehr zu dieser Entscheidung des POSIX-Komitees. >> Ich selbst nutze ':' ausgiebig in >> zeitstempelbasierten Dateinamen, >> geht halt nicht bei Windows, und >> '~' ist bei vielen Textverarbeitungen >> beliebt. > > Wenn man "naive" Nutzer hat wird es Spaces in Dateien geben. Bei ext4 gehen halt alle 8-Bit-Zeichen im Dateinamen außer '\0' und '/'. Leerzeichen sind noch harmlos (da in ASCII) , ich empfehle die aber nicht. -- Stefan
[toc] | [prev] | [next] | [standalone]
| From | Hergen Lehmann <hlehmann-usenet26@snafu.de> |
|---|---|
| Date | 2026-03-08 10:03 +0100 |
| Message-ID | <njqv7m-i45d.ln1@hergen.spdns.de> |
| In reply to | #14640 |
Am 07.03.26 um 13:07 schrieb Martin Klaiber: > Diese Scripte haben alle einen 8-bit-Zeichensatz (Latin-1, ISO-8859-1). > Die gesamte Bildschirmausgabe, Formatierung, usw. ist darauf ausgelegt. > Wenn ich einen neuen Rechner in meinen "Zoo" aufgenommen habe, hatte > ich seinen Zeichensatz ebenfalls auf Latin-1 eingestellt. Das ist schon seit wenigstens 20 Jahren eine eher unglückliche Idee. In den 90ern konnte man sich wenigstens noch damit herausreden, das die Welt sich noch nicht so recht einig war, ob der Weg zu UTF-8, UTF-16, UCS-2 oder UCS-4 führt, aber spätestens seit der Jahrtausendwende ist die Zielrichtung eigentlich eindeutig. ^_- > Hat das schon mal jemand gemacht? Da lässt sich sicher viel > automatisieren. Aber theoretisch ist UTF-8 ja doppelt so breit, aber > AFAIK auch nicht bei allen Zeichen, damit dürfte dann die Formatierung > am Bildschirm hinüber sein. Die ersten 128 Zeichen sind 1:1 identisch zwischen ASCII, ISO-8859 und UTF-8. Alle Neuerungen spielen sich im Bereich des gesetztem 8.Bit ab, wobei bei UTF8 jedes Sonderzeichen aus zwei bis sechs Bytes besteht. Falls deine Scripte also 1. niemals mit festen Stringlängen arbeiten und 2. als Trenn- und Steuerzeichen immer nur Zeichen aus dem ASCII-Vorrat verwenden, werden sämtliche Algorithmen ohne Änderung weiter funktionieren. Strings mit Sonderzeichen werden einfach nur etwas länger, verhalten sich ansonsten aber wie gewohnt. BTDT, vor rund 20 Jahren, mit einer komplexen Web-Anwendung mit hunderten von Scripten (nicht Shell, sondern proprietär, tut aber nix zur Sache). > Oder kompensiert das die Konsole irgendwie automatisch? Wenn du die Konsole aus Ausgabekanal verwendest, ja.
[toc] | [prev] | [next] | [standalone]
| From | Michael Bäuerle <michael.baeuerle@gmx.net> |
|---|---|
| Date | 2026-03-08 10:56 +0100 |
| Message-ID | <AABprUfmtrsAAAsY.A3.flnews@WStation7.micha.freeshell.org> |
| In reply to | #14664 |
Hergen Lehmann wrote: > > [...] > Die ersten 128 Zeichen sind 1:1 identisch zwischen ASCII, ISO-8859 und > UTF-8. Alle Neuerungen spielen sich im Bereich des gesetztem 8.Bit ab, > wobei bei UTF8 jedes Sonderzeichen aus zwei bis sechs Bytes besteht. ISO-8859-1 (256 Zeichen, inklusive C0 und C1) hat ebenfalls ein 1:1 Mapping in Unicode. In dem hier diskutierten Fall werden die Codepoints also immer identisch sein. Der Konverter muss lediglich das UTF darauf anwenden. Die Probleme fangen erst jenseits U+00FF an, z.B. Umlaute in decomposed Darstellung.
[toc] | [prev] | [next] | [standalone]
| From | Stefan Wiens <s.wi@gmx.net> |
|---|---|
| Date | 2026-03-08 11:19 +0100 |
| Message-ID | <87eclupqxj.fsf@s-bot.de> |
| In reply to | #14666 |
Michael Bäuerle <michael.baeuerle@gmx.net> writes: > Hergen Lehmann wrote: >> >> [...] >> Die ersten 128 Zeichen sind 1:1 identisch zwischen ASCII, ISO-8859 und >> UTF-8. Alle Neuerungen spielen sich im Bereich des gesetztem 8.Bit ab, >> wobei bei UTF8 jedes Sonderzeichen aus zwei bis sechs Bytes besteht. > > ISO-8859-1 (256 Zeichen, inklusive C0 und C1) hat ebenfalls ein 1:1 > Mapping in Unicode. > In dem hier diskutierten Fall werden die Codepoints also immer identisch > sein. Der Konverter muss lediglich das UTF darauf anwenden. Das Dübelzeichen (0xa4) wird trotzdem nicht zum Eurozeichen. Vielleicht hat der OP ISO-8859-15 (Latin-9) parallel verwendet? -- Stefan
[toc] | [prev] | [next] | [standalone]
| From | Michael Bäuerle <michael.baeuerle@gmx.net> |
|---|---|
| Date | 2026-03-08 14:09 +0100 |
| Message-ID | <AABprXULtskAAAuD.A3.flnews@WStation7.micha.freeshell.org> |
| In reply to | #14667 |
Stefan Wiens wrote: > Michael Bäuerle <michael.baeuerle@gmx.net> writes: > > Hergen Lehmann wrote: > > > > > > [...] > > > Die ersten 128 Zeichen sind 1:1 identisch zwischen ASCII, ISO-8859 und > > > UTF-8. Alle Neuerungen spielen sich im Bereich des gesetztem 8.Bit ab, > > > wobei bei UTF8 jedes Sonderzeichen aus zwei bis sechs Bytes besteht. > > > > ISO-8859-1 (256 Zeichen, inklusive C0 und C1) hat ebenfalls ein 1:1 > > Mapping in Unicode. > > In dem hier diskutierten Fall werden die Codepoints also immer identisch > > sein. Der Konverter muss lediglich das UTF darauf anwenden. > > Das Dübelzeichen (0xa4) wird trotzdem nicht > zum Eurozeichen. [...] Nein, es bleibt was es vorher war (1:1 Mapping).
[toc] | [prev] | [standalone]
Page 2 of 2 — ← Prev page 1 [2]
Back to top | Article view | de.comp.os.unix.shell
csiph-web