Прехвърляне към съдържание


Снимка

Именуването на файловете в компютъра


  • Моля, влезте, за да отговорите
7 отговора по тази тема

#1 chino_sz

chino_sz

    Потребител

  • Потребители
  • ПипПипПипПипПипПип
  • 149 мнения
  • Пол:Мъж
  • Живущ в:Стара Загора
  • Интереси:музика, компютри, езотерика, мистерии, тайни... :D

Публикувано: 08 May 2013 - 20:59

Здравейте, надявам се да съм уцелил точния раздел за темичката ми. От доста време насам все се чудя над един въпрос, на който така и не мога да намеря отговора никъде.Интересно ми е защо при по-старите файлове, били те музикални (особено) ,текстови и т.н. няма оставено място между името на изпълните, номера на трака и името на песента а вместо празно място има долна черта ( _ ) .Имам някакви мудни спомени че това било заради самата операционна система, и по-точно заради прочитането на самите файлове, така ставало по-лесно. Не знам до колко е верен споменът ми или самата теория.Знам за това че файловете не е хубаво да се изписват на кирилица, поради същата причина от предната теория. Нека някой по-запознат с програмирането или в която и да е друга сфера на мирозданието (месар, багерист, рибар, манекенка или жена шофьор :D) Да ми обясни дали моят толкова отдавнашен въпрос има смисъл все още да занимава моето съзнание или да го пращам в небитието.

  Благодаря предварително на отзовалите се мои събратя. Имате по една бира от мен (ако сте от Стара Загора) за всяка полезна информация по този въпрос. :)


Няма невъзможни неща
Нещо което може да бъде купено, няма реална стойност.

#2 as9993

as9993

    Потребител

  • Глобални модератори
  • ПипПипПипПипПипПип
  • 695 мнения
  • Пол:Мъж

Публикувано: 08 May 2013 - 21:47

На практика, няма никакво значение за скоростта или верността на прочетените данни, от това, дали ще има долно тире, тире или празно пространство или какъвто и да било друг символ в името на файла. Всички символи се представят като част от например ASCII таблицата, тоест разликата между две съседни букви или символа в представянето в паметта на компютъра няма, тоест броят битове е един и същ, а от там следва, че и скоростта ще е идентична, в случая на стандартната ASCII таблица "дължината" на един символ в паметта на компютъра е 7 (8) бита. Но и да приемем, че един символ би се описал с 8 бита, а друг с 16 бита (съвсем хипотетично), тази обработка дори на най-старите микроконтролери отпреди 30 години е толкова бърза, че се приема за мигновена, да не говорим за съвременните системи.

 

Да кажем, че имаме няколко абсолютно идентични файла с абсолютно едни и същи данни вътре (за по-лесно си представяме, че е чист текст, т.нар. plaintext), като единствената разлика между тях е в имената им, тоест единия е изцяло на кирилица, другият изцяло на латиница, третия и четвъртият са съответно със заглавия на кирилица и латиница, но с долни тирета, петите и шестите същите като предишните, но с интервали в имената, а последните два са идентични с последните, но са с нормални тирета. То при този случай няма да има абсолютно никаква разлика при четенето, като не взимаме в предвид някакви минимални разлики, които могат да се получат от странични неща, които могат да повлияят на изпълнението на програмата. Отново подчертавам, че файловете са с идентично съдържание.

 

Специално при някои файлове има значение дали самите данни са записани във файла без грешки, но това не е обект на текущото коментиране и зависи от типа на файла.

 

Не съм сигурен, защо точно е прието да се слага долно тире в повечето файлове, но предполагам, че е заради по-лесното четене на името на файла от хората, за компютъра е без значение и обработката на един единствен символ става мигновено.

Поради същата причина е по-масово именуването да става на латиница, защото на различните операционни системи с различни кодировки, може да излизат т.нар. "маймунски" символи, което не е приятно.

 

Сега нямам време да спретвам опитна постановка, за да тествам горните твърдения, но съм сигурен, че разлика, както при Windows, така и при Linux няма да има.

 

П.С. Именуването на файлове с интервали в имената не се предпочита, заради Linux/Unix операционните системи, тъй като най-просто обяснение е, че ако имаме файл с интервали в името, то той не може да бъде достъпен по традиционния начин през терминал например с vi името на файла.txt, защото все едно имаме няколко файла с това име. Заради това се налага при четенето на такива файлове под Линукс, да се приложи малък трик с името на файла.


"Родена в пъкъла музика се е разцъкала, като вълна избута боклука в ъгъла"


#3 TechMaster

TechMaster

    Arc Tech

  • Автори
  • ПипПипПипПипПипПип
  • 1479 мнения
  • Пол:Мъж

Публикувано: 08 May 2013 - 22:24

URL-лите не обичат интервали, това на кратко е причината. При стари браузери можеш да имаш много сериозни проблеми, ако URL-а включва текст с интервали, а несъмнено повечето изтегляния изискват заявка да се подаде към URL-а на файла, в който се включва и името му.
Aliena vitia in oculis habemus, а tergo nostra sunt.
И запомни,Всяко нещо е следствие на друго нещо и причина за трето!
Non est ad astra mollis e terris via

Имаш вирус?Не искаш да се повтаря?"Баш бая хакер" си? Тогава цъкни тук- ЦЪК
Не бъдете жертва на вирусите и недобронамерени лица.Интелигентно използване на компютъра!
Край на топлата бира и студените картофки!

#4 as9993

as9993

    Потребител

  • Глобални модератори
  • ПипПипПипПипПипПип
  • 695 мнения
  • Пол:Мъж

Публикувано: 08 May 2013 - 23:04

При URL-ите, където има интервал се попълва %20 без да има какъвто и да било проблем. Проверих го с пуснат nginx и със статична страница с IE6, едва ли някой би използвал по-стара версия на браузър!


"Родена в пъкъла музика се е разцъкала, като вълна избута боклука в ъгъла"


#5 TechMaster

TechMaster

    Arc Tech

  • Автори
  • ПипПипПипПипПипПип
  • 1479 мнения
  • Пол:Мъж

Публикувано: 08 May 2013 - 23:20

При URL-ите, където има интервал се попълва без да има какъвто и да било проблем. Проверено е на IE6, едва ли някой би използвал по-стара версия на браузър!

Това е полуистина. Първо, че интервалите не могат да се пишат директно, а трябва да се прекодват, второ че е много по-трудно да се управлява сайт с подобно съдържание, трето - наслагването на подобни прекодвания води след себе си нежелани грешки и е напълно възможно в някои случаи вместо да достъпиш желаното от теб съдържание да получиш "Page not found". Отгоре на всичко в команден ред се работи много по-трудно с имена с интервали. И за да си подкрепя думите Spaces in Filenames and Why You Should Avoid Them on the Web
Освен всичко това е много по-трудно да напишеш адреса до дадено съдържание, отколкото ако имаме използвана долна черта.
А иначе интервалът си е знак като всеки един друг, макар и празен и е без особено значение откъм производителност какъв точно знак ще бъде.
Както виждаш, аз не работя с догадки, а давам конкретни факти - как и защо.
Aliena vitia in oculis habemus, а tergo nostra sunt.
И запомни,Всяко нещо е следствие на друго нещо и причина за трето!
Non est ad astra mollis e terris via

Имаш вирус?Не искаш да се повтаря?"Баш бая хакер" си? Тогава цъкни тук- ЦЪК
Не бъдете жертва на вирусите и недобронамерени лица.Интелигентно използване на компютъра!
Край на топлата бира и студените картофки!

#6 as9993

as9993

    Потребител

  • Глобални модератори
  • ПипПипПипПипПипПип
  • 695 мнения
  • Пол:Мъж

Публикувано: 09 May 2013 - 00:05

А някъде да съм написал, че могат да се пишат директно, все едно пишеш в Notepad?!

Естествено, че трябва да се прекодират, ако не Ви е ясно защо, прочетете например RFC 1738 и RFC 3986, или отново говоря празни приказки?! 

Точно това бях написал-че проблемите с имената в команден ред са достатъчно големи, за да се избягва подобно именуване на файлове. Или Вие четете през ред и избирателно?

Работата ми се състои почти изцяло в команден ред с използване на vi/vim/emacs/nano, така че предполагам, че тези неща ги знам все пак?!

И аз не работя с догадки, или трябва отново да пусна уеб сървър, да направя screenshot, за да Ви докажа, че тези неща, които пиша са истина?!

Прочетете в по-горните RFC-та за GET заявките и през какви "кодировки" се преминава, аз урокът си съм го научил отдавна!


"Родена в пъкъла музика се е разцъкала, като вълна избута боклука в ъгъла"


#7 TechMaster

TechMaster

    Arc Tech

  • Автори
  • ПипПипПипПипПипПип
  • 1479 мнения
  • Пол:Мъж

Публикувано: 09 May 2013 - 16:28

Работата ми се състои почти изцяло в команден ред с използване на vi/vim/emacs/nano, така че предполагам, че тези неща ги знам все пак?!
И аз не работя с догадки, или трябва отново да пусна уеб сървър, да направя screenshot, за да Ви докажа, че тези неща, които пиша са истина?!

Проблемите в командният ред са досадни, но преодолими. Основната причина да не се използват шпации, ами долни черти е именно, че е възможно потенциално да възникнат проблеми и по-трудно се управлява интернет сайт от подобен тип. Само ако погледнете - в повечето форуми адресите не са със шпации, ами основно с тирета. vBulletin, IPB и т.н са примери за това. Дали според Вас проблемът е, че администраторите на форумите, които в повечето случаи нямат абсолютно никакъв конзолен достъп към сървъра на хостинга не могат да си управляват съдържанието през команден ред? Не е случайно, че шпациите и специалните знаци се избягват. Радвам се, че ползваte vi/nano. Аз пък се намирам в 21 век и работя с графични среди. Конзолата е полезна, но графичните среди понякога са по-мързеливо решение.
Темата обаче нито е за догадки, нито пък за мерене на...мнения... Абсурдно е да говорим, че името по-лесно се чело, като имало долно тире, вместо шпация - напротив, по-трудно се чете. Определено не се именуват файловете с долни тирета само заради конзолата. Обикновено тези, които пишат сайтовете не се занимават с конзолната част, нито администрират сървърите. В интернет пък с едно търсене ще излязат десетки примери защо е по-добре да се ползва долна черта, а не шпация и повечето нямат нищо общо с конзолният достъп на файла.

Просто употребата им е свързана с повече тънкости, доработване и евентуални проблеми.


Aliena vitia in oculis habemus, а tergo nostra sunt.
И запомни,Всяко нещо е следствие на друго нещо и причина за трето!
Non est ad astra mollis e terris via

Имаш вирус?Не искаш да се повтаря?"Баш бая хакер" си? Тогава цъкни тук- ЦЪК
Не бъдете жертва на вирусите и недобронамерени лица.Интелигентно използване на компютъра!
Край на топлата бира и студените картофки!

#8 chino_sz

chino_sz

    Потребител

  • Потребители
  • ПипПипПипПипПипПип
  • 149 мнения
  • Пол:Мъж
  • Живущ в:Стара Загора
  • Интереси:музика, компютри, езотерика, мистерии, тайни... :D

Публикувано: 09 May 2013 - 16:39

Благодаря ви за информацията.Ако някога по някаква причина имате идване или минаване през Стара Загора, драснете ми на лично за да оползотворим по една бира. :)


Няма невъзможни неща
Нещо което може да бъде купено, няма реална стойност.




0 потребители четат тази тема

0 регистрирани потребители, 0 гости и 0 анонимни потребители