
文章插圖
短文件名:特侖蘇.txt = 特~1.txt想起了一句話:不是所有的牛奶都叫特侖蘇 。
我想,大多數(shù)人都看到過Windows系統(tǒng)為長文件名自動生成的對應(yīng)的短文件名 。
舉個例子,如果有一個文件名為”Long name for file.txt”,則你可能會得到類似這樣的短文件名”LONGNA~1.TXT”,如果系統(tǒng)發(fā)現(xiàn)這個短文件名存在很多重復(fù)的,則還會生成這樣的名稱:”LO18C9~1.TXT” 。
從這個例子中,我們看到這些短文件名都有一個共同之處:它們都包含有波浪符號(~) 。
你可能不知道的是不是每個短文件名都包含有波浪符號 。
每個文件系統(tǒng)都有自己的一套方法來實(shí)現(xiàn)短文件命名 。Windows95獨(dú)占式的使用”~n”實(shí)現(xiàn)短文件名 。
算法類似于下圖:
WindowsNT則引入了一種名為”hexadecimal hash overflow”的技術(shù)來實(shí)現(xiàn)短文件名的生成 。然而,有些系統(tǒng),比如Novell,則采用簡單的字符串截斷的方式實(shí)現(xiàn) 。例如,如果Novell系統(tǒng)中有一個長文件名”Long name for file.txt”,則Novell會將它截斷為”LONGNAME.TXT” 。
所以,請不要假設(shè)所有的短文件都會帶有波浪符號,因?yàn)檫@并不是事實(shí) 。
這也意味著,如果你發(fā)現(xiàn)一個文件名里沒有包含波浪符號,你就想著可以跳過對GetLongFileName的調(diào)用,這可不行:因?yàn)槟愕倪@一優(yōu)化在Novell網(wǎng)絡(luò)上是無效的,是會掉坑里去的 。
總結(jié)俱往矣,短文件名,終將還是會消失在歷史的長河中,和我們一樣,都會變成層土 。
想想,其實(shí)也挺平常的 。
最后Raymond Chen的《The Old New Thing》是我非常喜歡的博客之一,里面有很多關(guān)于Windows的小知識,對于廣大Windows平臺開發(fā)者來說,確實(shí)十分有幫助 。
本文來自:《Not all short filenames contain a tilde》
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- 圖文 屬鼠會在人生哪個階段有所突破
- 不是應(yīng)該冬眠嗎 是不是冬眠
- 何洛洛放棄高考原因
- 秋季養(yǎng)生知識 你所不知道的秋季養(yǎng)生知識
- 夢見蹲廁所男人進(jìn)來是什么意思
- 怎么判斷是不是閏年 怎么判斷是不是閏年程序
- 長臉是不是適合長發(fā)
- 江蘇工業(yè)工程考研
- 如此新穎的養(yǎng)生會所設(shè)計 養(yǎng)生會所設(shè)計方案
- 換一種測量方法就不是珠穆朗瑪峰 珠穆朗瑪峰測量的方法
