ubuntu å vs osx å?


10

Не впевнений, це питання щодо ubuntu чи osx, але я розпочну тут. Я залишу це модам, щоб перенести питання на AskDifferent, якщо це більш доречно.

Я перемістив файл з ubuntu в osx за допомогою scp на яблучній машині. Я редагував файл на яблучній машині. Потім я перемістив файл назад, знову використовуючи scp на яблучній машині.

Назва вихідного файлу - Documents / trettiårsfirarätare .

  • Вихідний код: Documents/trettiårsfirarätare

Ім'я файлу, яке я повернув, мало назву Documents / trettiårsfirarätare .

  • Вихідний код: Documents/trettia˚rsfirara¨tare

Хоча вони можуть виглядати подібними, букви å і ä насправді між ними різняться. Ні в якому разі я не змінив ім'я файлу.

Це мало для мене технічної різниці, я просто змінив ім'я файлу назад на те, що ubuntu вважає å і ä, але це відмітило мою цікавість.

Чи можете ви пояснити мені, чому це сталося?


1
Ця проблема, ймовірно, стосуватиметься Unicode. Що станеться , якщо ви ПКПП (або еквів.) Скопіювати з OS X в Ubuntu (або Ubuntu для OS X), але на машині Ubuntu?
david6

Я переглянув це питання як mac і не побачив різниці між рядками, тепер, коли я повернувся до свого ноутбука Ubuntu, я побачив квадрати відразу, ще до редагування Takkat.
Альвар

Я не хочу спробувати scp-ing від ubuntu до osx на ubuntu через те, що в яблучній машині немає sshd, але scp-ing на osx достатньо, щоб змінити ім'я файлу. Я скопіював це лише один раз назад і назад, і ім’я було змінено, тому, схоже, scp - це додаток, що змінює ім'я.
azzid

Відповіді:


8

У оригінальній назві “Documents / trettiårsfirarätare” буква “å” внутрішньо представлена ​​як U + 00E5 ЛАТИННИЙ МАЛИЙ ПІСЛЯМИ З РОЗДІЛОМ. Це загальне представлення цього персонажа. У назві файла, яке ви повернулися, він був перетворений на пару символів U + 0061 ЛАТИННИЙ МАЛИЙ ПІСЛЯ A U + 030A ОБ'ЄДНАННЯ КОЛІННЯ. Це допустимо, але не часто; це означає розкласти "å" на основний символ "a" і поєднувати діакритичний знак. Ці уявлення оголошуються канонічно еквівалентними в Unicode; це означає, що зазвичай візуальна презентація буде однаковою, але вона не потрібна (тут, на SO, як переглядають у Firefox, це не так - це залежить від шрифту та програмного забезпечення візуалізації). Програми можуть сприймати їх як рівнозначні, але цього не потрібно. Наприклад, у файловій системі вони можуть трактуватися як різні.

Аналогічно, літера "ä" розкладається на U + 0061 ЛАТИННИЙ МАЛИЙ ПІСЛЯ A U + 0308 КОМБІНУЮЧИЙ ДІАЕРЕЗ.

Причина цього не очевидна. Можливо , деякі програми «вважає , що " він повинен перетворити рядки у вигляді нормалізації, що розкладається все розкладаються символи, ймовірно , Unicode Нормалізація форма D (NFD)

Решта трохи загадковіше. Що ви вказуєте як "вихідний код" для отриманого вами імені файлу, "Документи / trettia tretrsfirara¨tare", розкладені форми були змінені: діакритичні позначки були замінені їх міжрядковими клонами, символами "˚" та "¨ ”. Це не нормально, і це змінює як ідентичність даних, так і їх надання.


Частина SourceCode не була додана мною. Я можу бачити, що в їх візуальному зображенні є різниця між буквами, перша å має менший кільце, ніж друга, але крім того, що рядки виглядають однаково. Вони не є еквівалентними при використанні доповнення bash.
azzid

Насправді å - це буква сама по собі, це не просто а з діакритичним знаком, подібно як h - буква, а не просто і n з діакритичною позначкою.
kasperd
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.