파일 시스템 예약 문자에 유니코드가 사용되지 않는 이유는 무엇입니까?

파일 시스템 예약 문자에 유니코드가 사용되지 않는 이유는 무엇입니까?

"?"와 같은 문자를 사용하고 싶습니다. Windows에서는 파일 이름을 사용합니다. 왜 예약되어 있는지 이해하지만 왜 예약하지 않았습니까? 아니면 동일해 보이지만 (분명히) 다른 유니코드 코드를 갖는 유니코드 문자를 사용하여 이를 우회할 수 있습니까?

나는 전적으로 가능하다고 생각하지만, 그렇지 않다면 왜 그럴까요?

답변1

그렇지 않은 이유는 혼란을 야기할 가능성이 있기 때문이라고 생각합니다. "?"처럼 보이는 문자가 있는 경우 하지만 유니코드 코드가 다릅니다. 차이점을 어떻게 알 수 있나요?

누군가에게 그것을 어떻게 설명하겠습니까? "파일 이름에 물음표를 넣을 수는 없지만 물음표처럼 보이지만 물음표가 아닌 것을 가질 수 있으며, 이를 입력하려면 이 5개만 사용해야 합니다. -키 조합."?

(제 생각에는) 그것들을 완전히 배제하고 실수를 피하는 것이 더 좋습니다.

답변2

파일 이름에 허용되지 않는 문자는 다음과 같습니다.

  • <(보다 작음)
  • >(보다 큰)
  • :(콜론)
  • "(큰따옴표)
  • /(슬래시)
  • \(백슬래시)
  • |(수직 막대 또는 파이프)
  • ?(물음표)
  • *(별표)

~에 따르면Microsoft 명명 규칙.

그게 당신이 말한 것입니까?

command.com그 이유는 아마도 이전 셸 에서 해당 문자가 포함된 파일을 처리하기가 너무 어렵기 때문일 것입니다. 예를 들어 ?임의의 한 문자를 의미 *하거나 임의의 파일을 의미하기도 합니다.

모든 사람에게 이러한 특별한 경우를 처리하는 방법을 가르치는 대신 이를 허용하지 않아 스크립트 작성이 더 쉬워졌습니다.

해당 문자에 해당하는 유니코드는 없으며, 해당 문자가 있더라도 문제는 해결되지 않습니다. 기존 ASCII는 ?여전히 *와일드카드로 작동해야 하고, 그렇지 않으면 모든 사람이 스크립트를 다시 작성해야 합니다.

답변3

원본과 유사한 다음 유니코드를 위험 없이 사용할 수 있습니다.

Windows 이름으로 유효합니다.

참고:유니코드 테이블설명(예: 로마자), 실제 문자로 문자를 검색하고 관련 다른 문자(동일하게 보이는)를 참조로 제공할 수도 있습니다.

아래에서 유효한 파일 이름을 찾으세요(복사하여 붙여넣기하세요. Windows 탐색기가 설치된 Windows 7에서 작동하며 올바르게 표시됩니다. 죄송하지만 스크린샷을 추가할 수 없습니다). 브라우저 내부와 창 아래의 모양이 다르다는 것을 알 수 있습니다(글꼴 변경).

유니코드 一 ☀ ¦ » ։∖ ‡〵 ¨╲ ‽ ⁇ ¿ ‰ ¢ π π « ‰.txt


몇 가지 참고자료

  1. www.theasciicode.com.ar/extended-ascii-code/copyright-symbol-ascii-code-184.html
  2. http://www.theworldofstuff.com/characters/
  3. http://unicode-table.com/en/#00A9
  4. http://www.tedmontgomery.com/tutorial/altchrc-a.html
  5. http://unicode-table.com/en/#enclosed-alphanumerics
  6. https://stackoverflow.com/questions/8086375/what-character-to-use-to-put-an-item-at-the-end-of-an-alphabetic-list

주의: Windows는 1980년부터 Posix와 호환되므로(wikipedia에 따르면) 파일 이름을 지정하는 것을 포함하여 posix RFC를 준수합니다.스택 교환에 대한 답변RFC에 대한 더 넓은 컨텍스트를 제공하고 파일 이름에 허용되는 문자

답변4

이제 해당 문자를 직접 사용할 수 있습니다. 그러나 나는 운영 체제가 예를 들어 ASCII 물음표와 ﹖( SMALL QUESTION MARK- UFE56)와 같은 유사 문자 사이를 자동으로 음역하도록 하려는 것이라고 가정합니다. 나는 그것이 만족스럽지 않다고 생각합니다. 특히 파일 이름에 유효하지 않은 문자가 슬래시( /)와 null(ASCII 0)뿐인 Linux 및 기타 시스템에서는 이러한 문자를 쉽게 허용하기 때문입니다.

추가 자료:

관련 정보