우분투 å vs osx å?


10

이것이 우분투 또는 osx 질문인지 확실하지 않지만 여기서부터 시작하겠습니다. 좀 더 적절한 경우 질문을 AskDifferent로 옮기기 위해 모드로 남겨 두겠습니다.

사과 기계에서 scp를 사용하여 파일을 우분투에서 osx로 옮겼습니다. 나는 사과 기계에서 파일을 편집했습니다. 그런 다음 사과 컴퓨터에서 scp를 사용하여 파일을 다시 이동했습니다.

소스 파일의 파일 이름은 Documents / trettiårsfirarätare 입니다.

  • 소스 코드: Documents/trettiårsfirarätare

내가 얻은 파일 이름은 Documents / trettiårsfirarätare 입니다.

  • 소스 코드: Documents/trettia˚rsfirara¨tare

이것들은 비슷해 보이지만 å와 ä는 실제로 서로 다릅니다. 아무 때나 파일 이름을 변경하지 않았습니다.

이것은 나에게 기술적 인 차이가 거의 없으며, 파일 이름을 우분투가 å 및 ä로 간주하는 이름으로 다시 변경했지만 호기심이 간질이되었습니다.

왜 이런 일이 발생했는지 설명해 주시겠습니까?


1
이 문제는 아마도 유니 코드와 관련이있을 것입니다. OS X 에서 Ubuntu로 (또는 Ubuntu 에서 OS X) 복사 하지만 Ubuntu 시스템 에서 scp (또는 등가)를 복사 하면 어떻게됩니까 ?
david6

나는 Mac 에서이 질문을 보았고 선 사이의 차이점을 보지 못했습니다. 이제 Ubuntu 랩톱으로 돌아 왔을 때 Takkat의 편집 전에도 즉시 사각형을 보았습니다.
Alvar

애플 컴퓨터에 sshd가 없기 때문에 우분투에서 우분투에서 osx로 scp-ing을 시도하지 않지만 osx의 scp-ing은 파일 이름을 변경하기에 충분합니다. 나는 한 번만 복사하고 이름을 변경 했으므로 scp는 이름을 변경하는 응용 프로그램 인 것 같습니다.
azzid

답변:


8

원래 이름 "Documents / trettiårsfirarätare"에서 문자 "å"는 내부적으로 링 위의 U + 00E5 라틴 문자 A로 표시됩니다. 이것은이 캐릭터의 일반적인 표현입니다. 다시 얻은 파일 이름에서 문자 쌍 U + 0061 라틴 작은 문자 U + 030A 조합 링 위로 설정되었습니다. 이것은 허용되지만 흔하지는 않습니다. “å”를 기본 문자“a”로 나누고 분음 부호를 결합하는 것을 의미합니다. 이러한 표현은 유니 코드에서 표준 적으로 동등한 것으로 선언됩니다. 즉, 시각적 표현은 일반적으로 동일해야하지만 필요하지는 않습니다 (여기서 Firefox에서 볼 수있는 것과 달리 글꼴과 렌더링 소프트웨어에 따라 다릅니다). 프로그램은 그것들을 동등한 것으로 취급 할 수 있지만 반드시 그럴 필요는 없습니다. 예를 들어 파일 시스템에서는 파일 시스템이 다르게 취급 될 수 있습니다.

마찬가지로 문자 "ä"는 U + 0061 라틴 문자 A + 0308 조합 DIAERESIS로 분해됩니다.

이것에 대한 이유는 분명하지 않습니다. 아마도 일부 소프트웨어는 "생각"하여 문자열을 모든 분해 가능한 문자를 분해하는 정규화 형식으로 변환해야합니다. 아마도 NFD ( Unicode Normalization Form D)

나머지는 좀 더 신비 롭습니다. 가져온 파일 이름에 대해 "소스 코드"로 지정하는 항목 인 "문서 / trettia˚rsfirara¨ 용기"는 분해 된 형태가 제거되었습니다. 분음 부호는 간격 복제 문자, "˚"및 "¨ 문자로 대체되었습니다. ”. 이것은 정상이 아니며 데이터의 ID와 렌더링을 모두 변경합니다.


SourceCode 부분은 내가 추가하지 않았습니다. 나는 시각적으로 표현되는 글자들 사이에 차이가 있다는 것을 알 수 있습니다. 첫 번째는 두 번째보다 작은 고리를 가지고 있지만 문자열은 동일하게 보입니다. bash 탭 완성을 사용할 때는 동등하지 않습니다.
azid

사실 A는 그것은 그냥 그 자체로 편지 아니에요이다 처럼 분음 부호 표시가있는 시간이 편지이고 단지와 N 분음 부호 표시가.
kasperd
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.