sort -R $Datei | head -1
Der Code-Schnippsel-Thread
-
-
oh nett, sort -R kannte ich noch nicht
-
-
Code
Alles anzeigen@echo off :loop Set FILE="C:\num.txt" If not Exist %FILE% >%FILE% Echo 000 Set /P Number=<%FILE% Echo Number=%Number% Set /A "Number=1%Number% + 1" >%FILE% Echo.%Number:~-3% Set LINK="C:\numm.txt" If not Exist %FILE% >%FILE% Echo 0 Set /P Numberr=<%LINK% Echo Numberr=%Numberr% Set /A "Numberr=%Numberr% + 1" >%LINK% Echo.%Numberr% rtmpdump -r "rtmp://91.250.77.10:1935/vod/mp4:de/%Number%.mp4" -s "http://www.detektiv-conan.ch/StrobeMediaPlayback.swf" -t "rtmp://91.250.77.10:1935/vod" -y "mp4:de/%Number%.mp4" -o "C:\tmp\%Number%.mp4" -p "http://www.detektiv-conan.ch/episode.php?kennung=DE&seq=%Numberr%" pause
leider ist des ding halb kaputt, denn bei dem rtmpdump kommando stellt er vor der %Number% variable immer eine 1 davor und des kann ich garnicht gebrauchenm, sonst müsste ich nurnoch eine abfrage einbauen, denn die folgen gehen ja nur bis 308
-
Code
GET http://fpdownload.macromedia.com/get/flashplayer/pdc/12.0.0.43/install_flash_player.exe HTTP/1.1 GET http://fpdownload.macromedia.com/get/flashplayer/pdc/12.0.0.38/install_flash_player_ax.exe HTTP/1.1
Falls jemand sich fragt, ob man den Flash-Installer noch zur Offline-Installation herunterladen kann.
Hab daraus mal ein kleines, krudes Shellskript gemacht:
Bash
Alles anzeigen#!/bin/sh # um die Download-Seite für Windows anstatt "sonstige Betriebssysteme" zu erhalten FAKE_USERAGENT=$(curl --version | sed '1!d;s/ /\//;s/ .*$//')" (Windows NT)" INFO_URL="https://get.adobe.com/de/flashplayer/" PREFIX="http://fpdownload.macromedia.com/get/flashplayer/pdc/" # curl interpretiert bash-artige Glob- und Geschweifte-Klammer-Ausdrücke in URLs SUFFIX="/install_flash_player{,_ax}.exe" flash_version=$(curl -s -A "$FAKE_USERAGENT" "$INFO_URL" | \ sed '/AUTO_ID_columnleft_p_version/!d' | tr -dc "0-9.") curl -O "$PREFIX$flash_version$SUFFIX"
-
Endlich mal ums Backup kümmern
Code
Alles anzeigen############################# # Backup - Client-Part # Author Tobias Koehler # Mail: tk1908@gmail.com # Version 1.5 ############################# #!/bin/bash # Variablen definieren paramenter=$a month=$(date+ %Y-%m) # Funktionen definieren function unix_nfs { if [ -e /data/nexus/Backups/$month/Dokumente ]; then rsync -avu ${HOME}/Dokumente /data/nexus/Backups/$month/Dokumente else mkdir -p /data/nexus/Backups/$month/Dokumente rsync -avu ${HOME}/Dokumente /data/nexus/Backups/$month/Dokumente fi } function unix_ssh { rsync -avz ssh ${HOME}/Dokumente backup@nexus.tknet.lan:/data/Backups/$month/Dokumente } function rsyncd { etherwake <MAC-Adresse> sleep 30 ping -c1 biohazard.tknet.lan > /dev/null if [$? -ne "0" ]; then mailx -s "Server nicht erreichbar! Backup fehlgeschlagen!" exit 1 fi rsync -avz /data/ backup@biohazard.tknet.lan::backup ssh -i .ssh/backup_rsa backup@biohazard.tknet.lan "mailx -s "Backup finished! Shutdown has been iniciated at $(date+ %Y-%m-%d-%h-%M); shutdown -h 15"" } case $parameter in unix_nfs) unix_nfs() ;; unix_ssh) unix_ssh() ;; rsynd) rsynd() ;; *) echo Es stehen nur die Funktionen unix_nfs, unix_ssh und rsynd zur Verfügung! ;;
-
Diff
Alles anzeigenFrom 181ff3f801674db3c129472a5bfd6dc12a81f016 Mon Sep 17 00:00:00 2001 From: Thomas Schneider <thosch97@gmail.com> Date: Sun, 17 Aug 2014 20:05:46 +0200 Subject: progress: Print ASCII penis instead Signed-off-by: Thomas Schneider <thosch97@gmail.com> diff --git a/src/progress.c b/src/progress.c index 2e888a9..bb099b4 100644 --- a/src/progress.c +++ b/src/progress.c @@ -918,7 +918,8 @@ create_image (struct bar_progress *bp, double dl_total_time, bool done) assert (dlsz <= progress_size); assert (insz <= dlsz); - *p++ = '['; + *p++ = ' '; + *p++ = '8'; begin = p; /* Print the initial portion of the download with '+' chars, the @@ -933,9 +934,10 @@ create_image (struct bar_progress *bp, double dl_total_time, bool done) *p++ = '>'; } - while (p - begin < progress_size) + while (p - begin + 1 < progress_size) *p++ = ' '; - *p++ = ']'; + *p++ = 'O'; + *p++ = ':'; } else if (progress_size) { -- cgit v0.10.2
Wget einen ASCII-Penis als Progressbar ausgeben lassen. Patch ist anzuwenden auf Version 1.15 und ist dort verfügbar: https://qsuscs.sculptor.uberspace.de/cgit/wget.git/…bfd6dc12a81f016
Das sieht dann so aus. -
Rekursiv leere Verzeichnisse löschen:
cmd:
Linux:
Der Trick: Sowohl RD/RMDIR als auch rmdir(1) (im Gegensatz zu rm -r) löschen keine nicht-leeren Verzeichnisse. Wenn man den Verzeichnisbaum in umgekehrter Sortierung durchgeht, werden alle leeren Verzeichnisse von innen nach außen entfernt, auch wenn der Löschbefehl auf jedes Verzeichnis ausgeführt wird.
-
-
Find?
-
find kümmert sich nicht um Inhalte, sondern um Namen, Attribute und sowas.
-
Okay, müsste man RegExp verwenden, aber es ist eines der CLI-Tools die zwar auf dem Papier nicht sonderlich interessant klingen (jaja, grep on Steroids), ohne die ich aber nicht mehr arbeiten wollte.
-
Für alle, die sich ein "Startmenü" in IRIX bauen wollen:
Das hier als .auxchestrc ins Home speichern (Und mit eigenen Einträgen anpassen). Danach einmal toolchest neu starten und fertig ist!Code
Alles anzeigenmenu ToolChest { no-label f.separator "Internetzeugs" f.menu internet no-label f.separator "Spiele" f.menu spiele no-label f.separator "Demos" f.menu demos no-label f.separator "Terminals" f.menu terminals } Menu internet { "Firefox 2" f.checkexec.sh.le "/usr/nekoware/bin/firefox" "Firefox 3" f.checkexec.sh.le "/usr/nekoware/bin/firefox3" "Pidgin" f.checkexec.sh.le "/usr/nekoware/bin/pidgin" "Thunderbird" f.checkexec.sh.le "/usr/nekoware/bin/thunderbird" } Menu spiele { "Quake III" f.checkexec.sh.le "/usr/nekoware/bin/ioquake3" "Supertuxkart" f.checkexec.sh.le "/usr/nekoware/games/supertuxkart" } Menu demos { "Buttonfly" f.checkexec.sh.le "/usr/demos/buttonfly" "sslow" f.checkexec.sh.le "/usr/nekoware/bin/sslow" } Menu terminals { "winterm mit Bash" f.checkexec.sh.le "/usr/sbin/winterm -c /usr/nekoware/bin/bash" "winterm" f.checkexec.sh.le "/usr/sbin/winterm" }
-
Kleines Quizspiel mit Mehrspielersupport, welches ich in Perl geschrieben habe. Sollte überall laufen, wo Perl läuft. Macht mit mehreren Spielern durchaus Laune.
Perl
Alles anzeigen#!/usr/bin/perl $debug=0; $fragendurchlauf=0; $fragennr=0; $logo=' /$$$$$$ /$$ /$$ /$$ /$$__ $$ |__/ | $$ |__/ | $$ \ $$ /$$ /$$ /$$ /$$$$$$$$ /$$$$$$ /$$ /$$$$$$/$$$$ /$$$$$$ | $$ | $$| $$ | $$| $$|____ /$$/|_ $$_/ | $$| $$_ $$_ $$ /$$__ $$ | $$ | $$| $$ | $$| $$ /$$$$/ | $$ | $$| $$ \ $$ \ $$| $$$$$$$$ | $$/$$ $$| $$ | $$| $$ /$$__/ | $$ /$$| $$| $$ | $$ | $$| $$_____/ | $$$$$$/| $$$$$$/| $$ /$$$$$$$$ | $$$$/| $$| $$ | $$ | $$| $$$$$$$ \____ $$$ \______/ |__/|________/ \___/ |__/|__/ |__/ |__/ \_______/ \__/ das schnelle Quiz mit Biss! '; open(fragen,"<fragen.txt") || die $!; while (<fragen>) { if($fragendurchlauf==0) { $frage[$fragennr]=$_; chomp($frage[$fragennr]); print "Lese Frage ".$frage[$fragennr]." fuer Fragenr ".$fragennr."\n" if($debug==1); $fragendurchlauf++; } elsif($fragendurchlauf==1) { $antwort[$fragennr][0]=$_; chomp($antwort[$fragennr][0]); $fragendurchlauf++; print "Lese Antwort ".$antwort[$fragennr][0]." fuer Fragenr ".$fragennr."\n" if($debug==1); } elsif($fragendurchlauf==2) { $antwort[$fragennr][1]=$_; chomp($antwort[$fragennr][1]); $fragendurchlauf++; print "Lese Antwort ".$antwort[$fragennr][1]." fuer Fragenr ".$fragennr."\n" if($debug==1); } elsif($fragendurchlauf==3) { $antwort[$fragennr][2]=$_; chomp($antwort[$fragennr][2]); $fragendurchlauf++; print "Lese Antwort ".$antwort[$fragennr][2]." fuer Fragenr ".$fragennr."\n" if($debug==1); } elsif($fragendurchlauf==4) { $antwort[$fragennr][3]=$_; chomp($antwort[$fragennr][3]); $fragendurchlauf++; print "Lese Antwort ".$antwort[$fragennr][3]." fuer Fragenr ".$fragennr."\n" if($debug==1); } elsif($fragendurchlauf==5) { $richtig[$fragennr]=$_; chomp($richtig[$fragennr]); print "Lese Richtig ".$richtig[$fragennr]." fuer Frage ".$fragennr."\n" if($debug==1); $fragendurchlauf++; } elsif($fragendurchlauf==6) { $fragendurchlauf=0; $fragennr++; print "\n" if($debug==1); } } close fragen; for($x=0; $x<=25; $x++) { print "\n"; }; if(@frage ne @richtig) { die("Fehler: Anzahl Fragen und richtiger Antworten ist verschieden.".@frage.@richtig); } else { $anzahl=@frage-1; }; $gesamtfragen=$anzahl+1; print $logo; print "Wie viele Spieler? "; $spielerzahl=<STDIN>; chomp($spielerzahl); for($spieler=1; $spieler<=$spielerzahl; $spieler++) { print "Spieler $spieler, geb deinen Namen ein! "; $spielername[$spieler]=<STDIN>; chomp($spielername[$spieler]); $punkte[$spieler]=0; }; print "\nWie viele der $gesamtfragen Fragen sollen gespielt werden? "; $fragenzahl=<STDIN>; chomp($fragenzahl); while($i<$fragenzahl) { for($spieler=1; $spieler<=$spielerzahl; $spieler++) { for($x=0; $x<=25; $x++) { print "\n"; }; print $logo; print "$spielername[$spieler] ist dran!\n"; print "Aktuelle Punktzahl von $spielername[$spieler]: $punkte[$spieler]\n\n"; print $frage[$i]."\n"; for($antwortnr=0; $antwortnr<=3; $antwortnr++) { $antwortprint=$antwortnr+1; print $antwortprint." ".$antwort[$i][$antwortnr]."\n"; } print "\n"; print "Deine Antwort? "; $eingabe=<STDIN>; chomp($eingabe); if($eingabe eq $richtig[$i]) { print "\nRichtig! Du bekommst einen Punkt!\n"; $punkte[$spieler]++; } else { print "\nFalsch! Das gibt einen Punkt abgezogen!\n"; $punkte[$spieler]--; }; print "Weiter mit der Enter-Taste"; $enter=<STDIN>; $i++; }; }; for($x=0; $x<=25; $x++) { print "\n"; }; for($spieler=1; $spieler<=$spielerzahl; $spieler++) { if($punkte[$spieler]<0) { print "$spielername[$spieler], du hast das Quiz durchlaufen und dabei $punkte[$spieler] (ja, das ist ein Minus!) Punkte erhalten.\n"; print "Du musst noch ueben!\n"; } elsif($punkte[$spieler]==0) { print "$spielername[$spieler], du hast das Quiz durchlaufen, aber hast leider keinen einzigen Punkt.\n"; print "Uebe noch etwas!\n"; } elsif($punkte[$spieler]==1) { print "$spielername[$spieler], du hast das Quiz durchlaufen, aber hast leider nur einen Punkt\n"; print "Uebe noch etwas!\n"; } else { print "$spielername[$spieler], du hast das Quiz erfolgreich gemeistert und dabei $punkte[$spieler] Punkte erzielt.\n"; print "Glueckwunsch!\n"; }; print "\n"; }; #Zukünftig nutzbare Bestenliste #print "\nAuswertung:\n"; #@bestenliste = sort {$b <=> $a} @punkte; #for($i=0; $i<=@bestenliste; $i++) #{ # print "Platz $i:\t$bestenliste[$i]\n"; #}; print "\nEnde mit der Enter-Taste"; $enter=<STDIN>;
Die Fragen werden einfach in einer Textdatei hinterlegt. Die Syntax dieser Textdatei ist so aufgebaut, dass erst die Frage, dann die Antworten und dann die Nummer der richtigen Antwort jeweils in einer Zeile stehen und zwischen den einzlenen Fragen eine Leerzeile steht. Beispielhaft hier mal eine Fragendatei:
Code
Alles anzeigenWie heisst unser Hund? Manfred Horst Merlin Oskar 3 Wie nennt man das hoelzerne Flugobjekt, das beim Werfen wieder zurueckkommt? Comeback Roundrunner Bumerang Flywood 3 Wie nennt man die Karten, die nach dem Geben uebrig geblieben sind? Restkarten Anleger Stock Ausgaenger 3 Was ist ein Labradoodle? Eine Hunderasse Ein Kartenspiel Eine afrikanische Baumart Ein australischer Fisch 1 Was ist Pulvermanns Grab? Die letzte Ruhestaette eines deutschen Generals Eine Gedenkstaette Ein Hindernis beim Springreiten Ein Lager fuer Schiesspulver 3 Wie heißen die Giftpilze, die von Sammlern oft mit Champignons verwechselt werden? Morcheln Bovisten Knollenblaetterpilz Bitterling 3 Wozu werden Podencos gezuechtet? Zum Verzehr Wegen ihrer Wolle Wegen ihrer Eier Zur Hasenjagd 4
-
Gibt es einen bestimmten Grund, dass du die Umlaute escapest?
(Außerdem: Podencos wegen ihrer Eier züchten -- gute Idee )
-
Gibt es einen bestimmten Grund, dass du die Umlaute escapest?Um schei_ Encodingproblemen vorzubeugen.
(Außerdem: Podencos wegen ihrer Eier züchten -- gute Idee )Hoppla :D:D
Wohl eher zur Hasenjagd.
-
Um schei_ Encodingproblemen vorzubeugen.
Systeme, die nicht mit UTF-8 umgehen können, gehören sowieso aus dem Verkehr gezogen. Haskell ist ja komplett UTF-8-Clean, und der Typ Char beinhaltet immer UTF-8 und so lustiges Zeugs wie strlen("ä")=3 hat man da nicht, length "ä" gibt 1 zurück.
-
Überarbeitetes Quiz-Script.
Neu:
- Farben
- Bei Falschantwort Ausgabe, was stattdessen richtig ist
- Anzeige der Fragennr
- Ab nun führt der freundliche Moderator Merlin durchs Programm
- Immernoch reines ehrliches Perl ohne Objektorientierung
Perl
Alles anzeigen#!/usr/bin/perl use Term::ANSIColor; $debug=0; $fragendurchlauf=0; $fragennr=0; $logo=' /$$$$$$ /$$ /$$ /$$ /$$__ $$ |__/ | $$ |__/ | $$ \ $$ /$$ /$$ /$$ /$$$$$$$$ /$$$$$$ /$$ /$$$$$$/$$$$ /$$$$$$ | $$ | $$| $$ | $$| $$|____ /$$/|_ $$_/ | $$| $$_ $$_ $$ /$$__ $$ | $$ | $$| $$ | $$| $$ /$$$$/ | $$ | $$| $$ \ $$ \ $$| $$$$$$$$ | $$/$$ $$| $$ | $$| $$ /$$__/ | $$ /$$| $$| $$ | $$ | $$| $$_____/ | $$$$$$/| $$$$$$/| $$ /$$$$$$$$ | $$$$/| $$| $$ | $$ | $$| $$$$$$$ \____ $$$ \______/ |__/|________/ \___/ |__/|__/ |__/ |__/ \_______/ \__/ das schnelle Quiz mit Biss! '; open(fragen,"<fragen.txt") || die $!; while (<fragen>) { if($fragendurchlauf==0) { $frage[$fragennr]=$_; chomp($frage[$fragennr]); print "Lese Frage ".$frage[$fragennr]." fuer Fragenr ".$fragennr."\n" if($debug==1); $fragendurchlauf++; } elsif($fragendurchlauf==1) { $antwort[$fragennr][0]=$_; chomp($antwort[$fragennr][0]); $fragendurchlauf++; print "Lese Antwort ".$antwort[$fragennr][0]." fuer Fragenr ".$fragennr."\n" if($debug==1); } elsif($fragendurchlauf==2) { $antwort[$fragennr][1]=$_; chomp($antwort[$fragennr][1]); $fragendurchlauf++; print "Lese Antwort ".$antwort[$fragennr][1]." fuer Fragenr ".$fragennr."\n" if($debug==1); } elsif($fragendurchlauf==3) { $antwort[$fragennr][2]=$_; chomp($antwort[$fragennr][2]); $fragendurchlauf++; print "Lese Antwort ".$antwort[$fragennr][2]." fuer Fragenr ".$fragennr."\n" if($debug==1); } elsif($fragendurchlauf==4) { $antwort[$fragennr][3]=$_; chomp($antwort[$fragennr][3]); $fragendurchlauf++; print "Lese Antwort ".$antwort[$fragennr][3]." fuer Fragenr ".$fragennr."\n" if($debug==1); } elsif($fragendurchlauf==5) { $richtig[$fragennr]=$_; chomp($richtig[$fragennr]); print "Lese Richtig ".$richtig[$fragennr]." fuer Frage ".$fragennr."\n" if($debug==1); $fragendurchlauf++; } elsif($fragendurchlauf==6) { $fragendurchlauf=0; $fragennr++; print "\n" if($debug==1); } } close fragen; for($x=0; $x<=25; $x++) { print "\n"; } if(@frage ne @richtig) { die("Fehler: Anzahl Fragen und richtiger Antworten ist verschieden.".@frage.@richtig); } else { $anzahl=@frage-1; } $gesamtfragen=$anzahl+1; print color "yellow"; print $logo; print color "reset"; print "Herzlich Willkommen bei "; print color "yellow"; print "Quiztime"; print color "reset"; print ", dem Quiz mit Biss! Ich bin Ihr Moderator\nMerlin und werde Sie durch diese Sendung fuehren.\n\n"; print "Bei uns gibt es "; print color "bold"; print "keine"; print color "reset"; print " Joker, nur ein ehrliches Quiz. Gewinner ist, wer am\nmeisten weiss.\n\n"; print "Genug geredet, wie viele Spieler haben wir denn heute hier im Studio? "; $spielerzahl=<STDIN>; chomp($spielerzahl); for($spieler=1; $spieler<=$spielerzahl; $spieler++) { print "Spieler $spieler, wie heissen Sie? "; $spielername[$spieler]=<STDIN>; chomp($spielername[$spieler]); $punkte[$spieler]=0; } print "\nWie viele der $gesamtfragen Fragen sollen gespielt werden? "; $fragenzahl=<STDIN>; chomp($fragenzahl); if($fragenzahl eq "alle" || $fragenzahl eq "Alle" || $fragenzahl eq "jede" || $fragenzahl eq "Jede") { $fragenzahl=$gesamtfragen; } while($i<$fragenzahl) { for($spieler=1; $spieler<=$spielerzahl; $spieler++) { $iausgabe=$i+1; $fragenzahlausgabe=$fragenzahl+1; for($x=0; $x<=25; $x++) { print "\n"; } print color "yellow"; print $logo; print color "reset"; print "$spielername[$spieler] ist dran!\n"; print "Aktuelle Punktzahl von $spielername[$spieler]: $punkte[$spieler]\n\n"; print "Frage ".$iausgabe." von ".$fragenzahlausgabe.":\n"; print color "bold"; print $frage[$i]."\n"; print color "reset"; for($antwortnr=0; $antwortnr<=3; $antwortnr++) { $antwortprint=$antwortnr+1; print $antwortprint." ".$antwort[$i][$antwortnr]."\n"; } print "\n"; print "Deine Antwort? "; $eingabe=<STDIN>; chomp($eingabe); if($eingabe eq $richtig[$i]) { print color "green"; print "\nRichtig! Sie bekommen einen Punkt!\n"; print color "reset"; $punkte[$spieler]++; } else { print color "red"; print "\nFalsch! Das gibt einen Punkt abgezogen!\n"; print color "reset"; $punkte[$spieler]--; print "Richtig waere Antwort "; print color "bold"; print $richtig[$i]; print color "reset"; print " gewesen.\n"; } print "\nWeiter mit der Enter-Taste"; $enter=<STDIN>; $i++; } } for($x=0; $x<=25; $x++) { print "\n"; } print color "yellow"; print $logo; print color "reset"; for($spieler=1; $spieler<=$spielerzahl; $spieler++) { if($punkte[$spieler]<0) { print color "red"; print "$spielername[$spieler], Sie haben das Quiz zwar durchlaufen, dabei jedoch $punkte[$spieler] (ja, das ist ein Minus!) Punkte erhalten.\n"; print "Sie sollten dringend ueben!\n"; print color "reset"; } elsif($punkte[$spieler]==0) { print color "yellow"; print "$spielername[$spieler],Sie haben das Quiz durchlaufen, aber leider keinen einzigen Punkt.\n"; print "Da geht noch was!\n"; print color "reset"; } elsif($punkte[$spieler]==1) { print "$spielername[$spieler],Sie haben das Quiz durchlaufen, aber leider nur einen Punkt\n"; print "Ueben Sie noch etwas!\n"; } else { print color "green"; print "$spielername[$spieler], Sie haben das Quiz erfolgreich gemeistert und dabei $punkte[$spieler] Punkte erzielt.\n"; print color "green blink"; print "Glueckwunsch! Sie sind der beste!\n"; print color "reset"; } print "\n"; } print "\nBis zum nächsten Mal bei Quiztime, dem Quiz mit Biss! Schalten Sie auch das nächste Mal wieder ein.\n"; #Zukünftig nutzbare Bestenliste #print "\nAuswertung:\n"; #@bestenliste = sort {$b <=> $a} @punkte; #for($i=0; $i<=@bestenliste; $i++) #{ # print "Platz $i:\t$bestenliste[$i]\n"; #} print "\n\nEnde mit der Enter-Taste"; $enter=<STDIN>;
-
Systeme, die nicht mit UTF-8 umgehen können, gehören sowieso aus dem Verkehr gezogen. Haskell ist ja komplett UTF-8-Clean, und der Typ Char beinhaltet immer UTF-8 und so lustiges Zeugs wie strlen("ä")=3 hat man da nicht, length "ä" gibt 1 zurück.Ich bin zwar auch ein Freund von Unicode, aber UTF-8 ist nicht für alle Anwendungen das Gelbe vom Ei. Ich hoffe, dein Statement gilt nicht zwangsläufig auch für Embedded-Geschichten, denn mit 2-Byte-Kodierungen fährt man da oft besser. Python ist doch neuerdings (seit 3?) auch UTF-16, oder?
-
Python ist doch neuerdings (seit 3?) auch UTF-16, oder?Python 3.2 und früher haben Unicode-Strings immer intern als UCS-2 oder UCS-4 gespeichert, je nach Kompilations- und Plattformoptionen (Verfügbarkeit und Breite von wchar_t, z. B. Windows NT im Gegensatz zu unixoiden C-Bibliotheken). Das hat gerade mit den 16-Bit-Datentypen immer Probleme gegeben, wenn man Zeichen außerhalb der BMP verwenden will.
Python 3.3 (PEP 393) führt hingegen PyUnicodeObject ein, das Strings in verschiedenen Repräsentationen speichern kann; insbesondere können ASCII-Strings effizient gespeichert und UTF-8-Daten direkt mit nativem Code ausgetauscht werden.
-
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!