FTP'deki ASCII modunun anlamı nedir?


17

Neden günümüzde yazılım ve FTP uygulamalarında yaygın olan bir ASCII modu var? Neden verilerden bağımsız olarak her zaman ikili dosyaları kullanmayasınız?

Yanıtlar:


24

Şüphe duyduğunuzda RFC'yi okuyun :

STRUcture komutu kullanılmadıysa, ancak dosya ve kayıt yapılarının "FTP" dosyaları (yani, TYPE ASCII veya EBCDIC'li dosyalar) için tüm FTP uygulamaları tarafından kabul edilmesi gerekiyorsa, dosya yapısı varsayılan olarak kabul edilir. Bir dosyanın yapısı hem dosyanın aktarım modunu (İletim Modları Bölümüne bakın) hem de dosyanın yorumlanmasını ve saklanmasını etkiler.

Bir dosyanın "doğal" yapısı, dosyayı hangi ana makinenin sakladığına bağlıdır. Bir kaynak kodu dosyası genellikle IBM Mainframe'de sabit uzunluktaki kayıtlarda, ancak satırlara bölünmüş bir karakter akışı olarak DEC TOPS-20'de depolanır. Bu tür farklı siteler arasında dosya aktarımı yararlı olacaksa, bir sitenin diğerinin dosya hakkındaki varsayımlarını tanıması için bir yol olmalıdır.

vs etc ... Kısacası, bir kodlamadaki metin gösterimlerinin farklı bir kodlama kullanılarak ana bilgisayarlara aktarıldığında düzgün bir şekilde dönüştürülmesini sağlamaktır.


Şüphe duyduğunuzda: Google'da arama yapın ve cevabı StackExchange'te bulun.
ke4ukz

4

Çünkü farklı işletim sistemleri (Windows, UNIX, VAX) basit metin dosyaları için farklı satır sonlandırma yöntemleri kullanır.

Windows (DOS) bir CR / LF çifti kullanır, UNIX bunlardan yalnızca birini kullanır. ASCII modu CRLF çiftlerini dönüştürür ve BIN modu yapmaz.

Ron


4
Bu, bahsettiğiniz satır sonu kodlama farklılıklarından daha fazlasıdır, ancak aynı zamanda ASCII ve EBCDIC arasındaki fark gibi karakterlerin kendilerinin kodlanmasıyla da ilgilidir. @Sinan'ın cevabı, RFC-959
Tall

1

Bence bu bazen uygun. Eskiden FTP zaman oldu Seçimleriniz bir sistemden dosyaları var nasıl, büyük bir zaman kazandıran oldu - sistem okunabilir bir metin dosyası olması için diğer ucunda ne olduğunu bilmek zorunda değildi.

Ama evet, çoğunlukla bugün sadece bir sıkıntı. Deneyimsiz olanlar için sadece bozuk bir makine!


1

ASCII modu, karakter ve EOL kodlamasının gerçek bir sorun olduğu günlerde yerini aldı, ancak ftp istemcilerinin bugün bu seçeneği kaldırdığını veya belki de gizlediğini görmek istiyorum. Günümüzde çoğunlukla sistemler arasında dağılmış olan sadece EOL sözleşmeleri, ancak en iyi metin editörlerinin artık umursamadığını gördüm. Bu nedenle, ikili dosyaların (hatta bazı metin tabanlı dosyaların) bozulmasını önlemek için, her şey için sadece ikili modu kullanmanızı öneririm.


-1

ASCII modu, yazılımın yükleme / indirme işlemine bağlı olarak EOL karakterlerini istemci / sunucu için uygun değerlere otomatik olarak değiştirebilmesi için kullanılır. Kullandığınızla aynı türden bir sisteme yüklüyorsanız, bu modlarda bir fark yoktur.

Bu modun nedeni, tüm sistemlerde bulunan tüm yazılımların tam olarak uygun EOL türü olmayan EOL'leri doğru şekilde işlememesidir (örneğin, Windows yazılımının bir sürü sadece "\ r \ n" yi düzgün bir şekilde işleyecek ve bir şeyi bozacaktır) "\ n" için korkunç).


"Bu modlarda hiçbir fark yok." - Bu doğru değil. Ascii modunda bir ikili dosya göndermek muhtemelen bozuk olabilir. Kötü.
Beefster
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.