ubuntu å vs osx å?


10

Tidak yakin apakah ini pertanyaan ubuntu atau osx, tapi saya akan mulai di sini. Saya akan menyerahkannya pada mod untuk memindahkan pertanyaan ke AskDifferent jika lebih sesuai.

Saya memindahkan file dari ubuntu ke osx menggunakan scp pada mesin apple. Saya mengedit file di mesin apel. Lalu saya memindahkan file kembali, lagi menggunakan scp pada mesin apple.

Nama file dari file sumber adalah Documents / trettiårsfirarätare .

  • Kode sumber: Documents/trettiårsfirarätare

Nama file yang saya dapatkan memiliki nama Documents / trettiårsfirarätare .

  • Kode sumber: Documents/trettia˚rsfirara¨tare

Meskipun ini mungkin terlihat serupa, huruf å dan ä sebenarnya berbeda di antara mereka. Pada titik saya tidak mengubah nama file.

Ini membuat sedikit perbedaan teknis bagi saya, saya hanya mengubah nama file kembali ke apa yang dianggap ubuntu å dan ä, tetapi itu menggelitik keingintahuan saya.

Bisakah Anda jelaskan kepada saya mengapa ini terjadi?


1
Masalah ini kemungkinan akan melibatkan Unicode. Apa yang terjadi jika Anda scp (atau equiv.) Menyalin dari OS X ke Ubuntu (atau Ubuntu ke OS X), tetapi pada mesin Ubuntu?
david6

Saya melihat pertanyaan ini dari mac dan tidak melihat perbedaan apa pun di antara baris-baris itu, sekarang ketika saya kembali ke laptop Ubuntu saya, saya langsung melihat kotak itu, bahkan sebelum edit Takkat.
Alvar

Saya tidak akan mencoba scp-ing dari ubuntu ke osx di ubuntu karena mesin apel tidak memiliki sshd, tetapi scp-ing di osx sudah cukup untuk mengubah nama file. Saya hanya menyalinnya bolak-balik satu kali dan namanya diubah, jadi sepertinya scp adalah aplikasi yang mengubah nama.
azzid

Jawaban:


8

Dalam nama asli "Dokumen / trettiårsfirarätare", huruf "å" secara internal direpresentasikan sebagai U + 00E5 LATIN SURAT KECIL A DENGAN RING DI ATAS. Ini adalah representasi umum dari karakter ini. Dalam nama file yang Anda dapatkan kembali, telah berubah ke pasangan karakter U + 0061 LATIN KECIL SURAT A U + 030A MENGGABUNGKAN RING DI ATAS. Ini diperbolehkan, tetapi tidak umum; itu berarti mendekomposisi "å" ke dalam karakter dasar "a" dan menggabungkan tanda diakritik. Representasi ini dinyatakan setara secara kanonik dalam Unicode; ini berarti bahwa presentasi visual biasanya diharapkan sama, tetapi tidak perlu (di sini, di SO, seperti yang dilihat di Firefox, tidak - ini tergantung pada font dan perangkat lunak render). Program mungkin memperlakukan mereka sebagai setara, tetapi mereka tidak perlu. Dalam sistem file, misalnya, mereka mungkin diperlakukan berbeda.

Demikian pula, huruf "ä" akan didekomposisi menjadi U + 0061 LATIN SMALL LETTER A U + 0308 COMBINING DIAERESIS.

Alasannya tidak jelas. Mungkin beberapa perangkat lunak "berpikir" itu harus mengkonversi string ke bentuk normalisasi yang menguraikan semua karakter terurai, mungkin Unicode Normalization Form D (NFD)

Sisanya sedikit lebih misterius. Apa yang Anda tentukan sebagai “Kode Sumber” untuk nama file yang Anda dapatkan kembali, “Dokumen / trettia˚rsfirara¨tare”, formulir yang telah dibusukkan telah menjadi hijau: tanda diakritik telah diganti oleh klon spasi mereka, karakter “˚” dan “¨ ” Ini tidak normal, dan itu mengubah identitas data dan renderingnya.


Bagian SourceCode tidak ditambahkan oleh saya. Saya dapat melihat bahwa ada perbedaan antara huruf-huruf dalam representasi visualnya, å pertama memiliki dering lebih kecil dari yang kedua, tetapi selain itu senarnya terlihat sama. Mereka tidak eqvivalent saat menggunakan penyelesaian bash tab.
Azzid

Sebenarnya å adalah huruf sendiri, bukan hanya huruf a dengan tanda diakritik, sama seperti h adalah huruf dan bukan huruf a dan n dengan tanda diakritik.
kasperd
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.