ubuntu å vs osx å?


10

Je ne sais pas s'il s'agit d'une question ubuntu ou osx, mais je vais commencer ici. Je laisse le soin aux mods de déplacer la question vers AskDifferent si elle est plus appropriée.

J'ai déplacé un fichier d'ubuntu vers osx en utilisant scp sur la machine Apple. J'ai édité le fichier sur la machine Apple. Ensuite, j'ai reculé le fichier, en utilisant à nouveau scp sur la machine Apple.

Le nom du fichier source était Documents / trettiårsfirarätare .

  • Code source: Documents/trettiårsfirarätare

Le nom de fichier que j'ai récupéré portait le nom Documents / trettiårsfirarätare .

  • Code source: Documents/trettia˚rsfirara¨tare

Bien que ceux-ci puissent ressembler, les lettres å et ä sont en fait différentes entre elles. À aucun moment je n'ai changé le nom du fichier.

Cela fait peu de différence technique pour moi, je viens de changer le nom du fichier en ce que ubuntu considère å et ä, mais cela a chatouillé ma curiosité.

Pouvez-vous m'expliquer pourquoi cela s'est produit?


1
Ce problème impliquera probablement Unicode. Que se passe-t-il si vous copiez (ou équivaut) une copie d' OS X vers Ubuntu (ou d'Ubuntu vers OS X), mais sur la machine Ubuntu?
david6

J'ai regardé cette question sous forme de mac et je n'ai vu aucune différence entre les lignes, maintenant quand je suis revenu sur mon ordinateur portable Ubuntu, j'ai vu les carrés immédiatement, même avant l'édition de Takkat.
Alvar

Je n'essaierai pas de scp-ing d'ubuntu vers osx sur ubuntu car la machine Apple n'a pas sshd, mais scp-ing sur osx suffit pour changer le nom du fichier. Je ne l'ai copié qu'avant et en arrière et le nom a été changé, il semble donc que scp soit l'application qui change le nom.
azzid

Réponses:


8

Dans le nom d'origine «Documents / trettiårsfirarätare», la lettre «å» est représentée en interne comme U + 00E5 LETTRE MINUSCULE LATINE A AVEC ANNEAU CI-DESSUS. Ceci est la représentation commune de ce personnage. Dans le nom de fichier que vous avez récupéré, il a été transformé en la paire de caractères U + 0061 LETTRE MINUSCULE LATINE A U + 030A ANNEAU COMBINÉ CI-DESSUS. C'est permis, mais pas courant; cela signifie décomposer «å» en le caractère de base «a» et une combinaison de signes diacritiques. Ces représentations sont déclarées canoniquement équivalentes en Unicode; cela signifie que la présentation visuelle devrait normalement être la même, mais ce n'est pas nécessaire (ici, à SO, comme vu dans Firefox, ce n'est pas le cas - cela dépend de la police et du logiciel de rendu). Les programmes peuvent les traiter comme équivalents, mais ils n'en ont pas besoin. Dans un système de fichiers, par exemple, ils pourraient bien être traités comme différents.

De la même manière, la lettre «ä» se décompose en U + 0061 LETTRE MINUSCULE LATINE A U + 0308 COMBINAISON DE DIAÉRÉSIS.

La raison de cela n'est pas évidente. Peut-être que certains logiciels "pensent" qu'il devrait convertir les chaînes en une forme de normalisation qui décompose tous les caractères décomposables, probablement la forme de normalisation Unicode D (NFD)

Le reste est un peu plus mystérieux. Ce que vous spécifiez comme «Sourcecode» pour le nom de fichier que vous avez récupéré, «Documents / trettia˚rsfirara¨tare», les formes décomposées ont été munées: les signes diacritiques ont été remplacés par leurs clones d'espacement, les caractères «˚» et «¨ ". Ce n'est pas normal et cela change à la fois l'identité des données et leur rendu.


La partie SourceCode n'a pas été ajoutée par moi. Je peux voir qu'il y a une différence entre les lettres dans leur représentation visuelle, le premier å a un anneau plus petit que le second, mais à part cela, les cordes se ressemblent. Cependant, ils ne sont pas équivalents lors de l'utilisation de la complétion de l'onglet bash.
azzid

En fait, å est une lettre à part entière, ce n'est pas seulement un a avec une marque diacritique, tout comme h est une lettre et pas seulement et n avec une marque diacritique.
kasperd
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.