ubuntu å vs osx å?


10

Ich bin mir nicht sicher, ob dies eine Ubuntu- oder Osx-Frage ist, aber ich fange hier an. Ich überlasse es den Mods, die Frage an AskDifferent zu verschieben, wenn dies angemessener ist.

Ich habe eine Datei mit scp auf dem Apple-Computer von Ubuntu nach OSX verschoben. Ich habe die Datei auf dem Apple-Computer bearbeitet. Dann habe ich die Datei zurück verschoben, wieder mit scp auf dem Apple-Computer.

Der Dateiname der Quelldatei war Documents / trettiårsfirarätare .

  • Quellcode: Documents/trettiårsfirarätare

Der Dateiname, den ich zurückbekam, hatte den Namen Documents / trettiårsfirarätare .

  • Quellcode: Documents/trettia˚rsfirara¨tare

Während diese ähnlich aussehen könnten, unterscheiden sich die Buchstaben å und ä tatsächlich zwischen ihnen. Ich habe den Namen der Datei zu keinem Zeitpunkt geändert.

Das macht für mich wenig technischen Unterschied. Ich habe gerade den Namen der Datei wieder in das geändert, was Ubuntu für å und ä hält, aber es hat meine Neugier geweckt.

Können Sie mir erklären, warum das passiert ist?


1
Dieses Problem betrifft wahrscheinlich Unicode. Was passiert, wenn Sie scp (oder gleichwertig) von OS X nach Ubuntu (oder Ubuntu nach OS X) kopieren , aber auf dem Ubuntu-Computer?
David6

Ich habe mir diese Frage von einem Mac aus angesehen und keinen Unterschied zwischen den Zeilen festgestellt. Als ich jetzt zu meinem Ubuntu-Laptop zurückkam, sah ich die Quadrate sofort, noch bevor Takkat sie bearbeitete.
Alvar

Ich werde nicht versuchen, auf Ubuntu von Ubuntu nach Osx zu scpsen, da der Apple-Computer kein SSHD hat, aber das Scping auf Osx reicht aus, um den Dateinamen zu ändern. Ich habe es nur einmal hin und her kopiert und der Name wurde geändert, so dass es scheint, dass scp die Anwendung ist, die den Namen ändert.
Azzid

Antworten:


8

Im ursprünglichen Namen "Documents / trettiårsfirarätare" wird der Buchstabe "å" intern als U + 00E5 LATIN SMALL LETTER A WITH RING OBEN dargestellt. Dies ist die übliche Darstellung dieses Charakters. In dem Dateinamen, den Sie zurückbekommen haben, wurde das Zeichenpaar U + 0061 LATIN SMALL LETTER A U + 030A KOMBINIERENDER RING OBEN verwendet. Dies ist zulässig, aber nicht üblich. es bedeutet, "å" in das Grundzeichen "a" und eine kombinierte diakritische Markierung zu zerlegen. Diese Darstellungen werden in Unicode als kanonisch äquivalent deklariert. Dies bedeutet, dass die visuelle Darstellung normalerweise dieselbe sein muss, aber nicht muss (hier bei SO, wie in Firefox angezeigt, ist dies nicht der Fall - dies hängt von der Schriftart und der Rendering-Software ab). Programme können sie als gleichwertig behandeln, müssen es aber nicht. In einem Dateisystem können sie beispielsweise als unterschiedlich behandelt werden.

In ähnlicher Weise wird der Buchstabe "ä" in U + 0061 LATIN SMALL LETTER A U + 0308 COMBINING DIAERESIS zerlegt.

Der Grund dafür ist nicht offensichtlich. Möglicherweise "denkt" eine Software, dass sie Zeichenfolgen in ein Normalisierungsformular konvertieren sollte, das alle zerlegbaren Zeichen zerlegt, wahrscheinlich Unicode Normalization Form D (NFD).

Der Rest ist etwas mysteriöser. Was Sie als "Quellcode" für den Dateinamen angeben, den Sie zurückbekommen haben, "Dokumente / Trettia˚rsfirara¨tare", wurden die zerlegten Formen munged: Die diakritischen Zeichen wurden durch ihre Abstandsklone, die Zeichen "˚" und "¨" ersetzt ”. Dies ist nicht normal und ändert sowohl die Identität der Daten als auch deren Darstellung.


Der SourceCode-Teil wurde von mir nicht hinzugefügt. Ich kann sehen, dass es einen Unterschied zwischen den Buchstaben in ihrer visuellen Darstellung gibt, der erste å hat einen kleineren Ring als der zweite, aber ansonsten sehen die Saiten gleich aus. Sie sind jedoch nicht gleichwertig, wenn Sie die Bash-Tab-Vervollständigung verwenden.
Azzid

Eigentlich ist å ein Buchstabe für sich, es ist nicht nur ein a mit einem diakritischen Zeichen, genau wie h ein Buchstabe ist und nicht nur und n mit einem diakritischen Zeichen.
Kasperd
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.