顯然這是拉丁字母。但我在概念意義上,跨語言和Unicode規範問這個問題。大寫的utf8字符總是與其小寫變體的字節數相同嗎?
實際上,這是爲比較兩個字符串而產生的。如果你已經知道它們不是所有語言的—字節數—你能否考慮足夠的保證它們不是同一個字符串的「不同的」「版本」?
顯然這是拉丁字母。但我在概念意義上,跨語言和Unicode規範問這個問題。大寫的utf8字符總是與其小寫變體的字節數相同嗎?
實際上,這是爲比較兩個字符串而產生的。如果你已經知道它們不是所有語言的—字節數—你能否考慮足夠的保證它們不是同一個字符串的「不同的」「版本」?
號
考慮U + 0069 「i」 的,其具有以UTF-8的八位組值69
。以大寫字母形式U + 0130「İ」此代碼點形成UTF-8序列C4 B0
。
必須注意:case是區域設置敏感的。
在Unicode標準中沒有保證這一點的原則或不變量。我會特別關注重音資本,在這些資本中,預先分配和非預先分配之間可能存在不匹配。但是,我不能舉出一個問題的例子給你。
我對Unicode和這方面的世界方式知之甚少。但是,在大寫/小寫轉換中丟失信息通常有效嗎?如果你不能唯一地來回轉換,那麼稱這兩個「同一個字母的情況」是否公平? – HostileFork 2013-02-10 00:07:56
'我'和'我'都是一個字節。但U + 0130是土耳其的首都。對那裏的人來說,他們是'兩封同一封信'。 – bmargulies 2013-02-10 00:14:12
http://www.fileformat.info/info/unicode/char/0130/index.htm – bmargulies 2013-02-10 00:18:50