Meine ursprüngliche Idee war es, die Datei in Chunks solange rückwärts einzulesen, bis 1. die gewünschte Anzahl der Zeilen erreicht ist und 2. keine Zeilen zerrissen werden.
Die Ausgabe sollte natürlich in richtiger Reihenfolge erfolgen.
tail_file muss lokal auf der Kiste ausgeführt werden.
Das du jetzt mein bytearray einfach so rausgenommen hast, macht mich jetzt ganz traurig
Letztendlich bring es bei der geringen Datenmenge auch keinen Geschwindigkeitsvorteil.
Übrigens kann man Bytes gefahrenlos bei '\n' splitten, auch wenn diese mit UTF-8 kodiert sind.
Wenn du dir den Algorithmus ansiehst, wirst du es verstehen:
https://de.wikipedia.org/wiki/UTF-8#Algorithmus
UTF-8 ist mit ASCII deckungsgleich. Sobald ein Zeichen aus mehreren bytes besteht, ist das MSB auf 1 gesetzt.
Da die Quelle der Datei uns unbekannt ist, kann man da nur raten.
Ich rate mal, dass die Ausgabe UTF-8 ist und lediglich '\n' als Newline verwendet wird.
Eine verbesserte Funktion würde natürlich alle Gegebenheiten berücksichtigen und Zeilentrennung erst nach einem decode durchführen.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server