
FTP 서버로 전송한 Mac OS X 앱과 함께 Unix 실행 파일이 있습니다. 이 파일을 업로드한 후 다운로드하면 Unix 실행 파일이 TextEdit 문서로 다운로드됩니다. 응용 프로그램과 마찬가지로 다운로드하면 "MyApp 응용 프로그램을 열 수 없습니다"라는 메시지가 나타납니다. 나는 이것이 앱을 다운로드할 때 MyApp/Contents/MacOS/Myapp 디렉토리에 있는 unix 실행 파일을 텍스트 문서로 다운로드하기 때문이라고 생각합니다. 그래서 나는 문제가 내가 겪고 있는 두 가지 문제와 동일하다고 가정합니다. 이 문제를 어떻게 해결할 수 있습니까? 또한 파일을 업로드할 때 사용한 것과 동일한 사용자 정의 아이콘을 갖고 싶습니다. 참고: 원본 파일과 FTP 서버에서 다운로드한 파일의 체크섬은 동일합니다.
답변1
TLDR:
ASCII 모드로 다운로드할 때 이는 정상적인 현상입니다. 바이너리 다운로드로 전환
배경:
컴퓨터에 영어만 있고 악센트, 트레마 또는 기타 흥미로운 문자가 없었고 기억력이 여전히 매우 부족했던 시절에는 ASCII를 사용하여 문자와 숫자를 나타냅니다. ASCSII에는 127개의 항목이 포함되어 있습니다.
127개 항목은 7비트에 적합하지만 현재 일반 바이트는 8비트입니다. *1
8비트를 모두 전송하면 (매우 비싸고 제한된) 대역폭 *2을 낭비하게 되므로 8비트가 삭제됩니다. 이것은 텍스트 파일에서는 잘 작동했습니다. 바이너리(비ASCII) 데이터를 전송한 경우 바이너리 모드로 전환하여 8비트를 모두 다운로드하도록 FTP에 명시적으로 지시해야 했습니다.
*1: 원격 형식에서 로컬 형식으로 텍스트를 변환하는 등의 유용한 작업도 수행합니다. 예를 들어 메인프레임 EBDIC에서 ASCII로, 줄 끝 사이를 변경하는 등입니다.
*2: 대역폭 예:
ASCII 모드:
AAAAAAAB BBBBBBCC CCCCCDDD DDDDEEEE EEEFFFFF FFFGGGGG GGHHHHHH H...
^^^^^^
Savings
바이너리 모드:
AAAAAAA- BBBBBBB- CCCCCCC- DDDDDDD- EEEEEEE- FFFFFFF- GGGGGGG- H....