2012-10-21 54 views

回答

12

我只是猜測,但我想這是因爲最早的電腦字符集根本沒有小寫字母。大寫字母是默認值,因此首先將其置於首位。

但是這種排序不一定適用於其他字符集。 EBCDIC首先使用小寫字母。 Commodore微型計算機有兩個基於舊版本ASCII的字符集 - 一個完全沒有小寫字母,另一個字母大寫和小寫字母與標準ASCII相比反轉(因此按下未轉換的字母鍵總是會得到相同的字符代碼,無論是大寫+圖形模式還是小寫+大寫模式)。

請注意,在ASCII中,位6(32位)的值告訴您大寫字母的情況 - 0代表大寫,1代表小寫。這意味着你可以通過在代碼中加上32來得到任意小寫字母的ASCII代碼:65代表A,所以65 + 32 = 97代表a等。

+0

這聽起來很有意義!但我沒有得到「的意思,並且把32位作爲一種反向的」移位標誌「來表示小寫。」,這是什麼意思? thx再次! – Judking

+4

大寫字母A是十進制65,二進制1000001.小寫字母A是十進制97,二進制1100001.唯一的區別是從左側開始的第二位從0變爲1.該位的值爲32(這就是爲什麼十進制從65到65 + 32 = 97),所以我稱它爲「32位」。它起着「旗幟」的作用,因爲你只能看到這一點,並說出一些東西:在這種情況下,字母是大寫還是小寫。大小寫與鍵盤上的shift鍵相關聯,所以我將它稱爲「shift」標誌,並且它是「反向」的,因爲標誌對於_un_移位的字母設置了(1)。 –

+0

我明白了。 Thx爲您的詳細解釋! – Judking

1

爲了確保小寫字母不是'排序文本時,大寫字母不會顯示。

在現代的Unicode時代,排序文本要複雜得多,但20年前,您可以通過ASCII值對文本進行排序。

+1

_Disclaimer_:純粹的猜測 – SLaks

+3

爲什麼排序文本時大寫字母應該在小寫字母之前?它不應該是大寫字母前的小寫字母嗎?(乞求我可憐的英語。^^) – Judking

+0

這沒有任何意義。 – dprogramz

相關問題