如果你看不到文章的圖的話,可以去:你看不見圖的話,去http://www.guokr.com/question/162799/
http://www.guokr.com/post/206023/
---------------------------
今天是世界無煙日好像,在微薄上發現了這個神奇的字符(̅_̅_̅(̅(̅_̅_̅_̅_̅_̅̅(ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็)
我一開始以為他是一張圖片,最后發現不是,而且觀察了一會,發現居然還能動好像,於是就覺的很神奇。這個確實是一個字符串。
如果你用微薄的話,你可以嘗試着在輸入框中寫入:“ฐ้้ฐ้้้ฐ้้้้ฐ้้้้้ฐ้้้้้้ฐ้้้้้้้ฐ้้้้้้้้ฐ้้้้้้้้้ฐ้้้้้้้้้้ฐ้้้้้้้้้้้ฐ้้้้้้้้้้้้ฐ้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้”,你就會發現遠遠超出了140個字符了。
你如果用google搜索:(̅_̅_̅(̅(̅_̅_̅_̅_̅_̅̅(ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็) 你會發現頁面很奇怪。
(็和ฐ้้,這兩個“字符”其實都不只是一個字符。出現這個狀況,大概就是設計字符時沒有考慮到“帽子”和“聲調”而產生的BUG。
這是泰文字符中的帽子字,它會疊加在主體字符上,出這個狀況是字符bug
根據泰文的拼寫規則,常將字符分為鞋子字符、帽子字符、主體字符、聲調字符、獨立字符、標點字符。【1】
圖示中的 ส 編碼為0E2A、即主體字符;所謂的“繞繞(็)“編碼為0E47、即帽子字符。【2】
按照拼寫規則,,帽子字符必須是疊加在主體字符之上的。因此,正常的泰文拼寫應該是像”ส็“這樣。
至於發射過遠,應該是泰文編碼時設計者未考慮到重復疊加”帽子“或者”聲調“而產生的BUG。畢竟,主體字符上是可以疊加帽子字符的,帽子字符上又是可以疊加聲調字符;再者,主體字符下還可以疊加鞋子字符,確實難以限定疊加層數。
至於如何顯示,主體字符的Unicode 編碼+聲調字符(或者帽子字符)的Unicode 編碼即可。比如答案開始的圖形編碼為:http://wo.tanbeta.com/?di=8LH8
【1】泰文排版規則:http://blog.sina.com.cn/s/blog_5d8cc6410100s2ux.html
【2】泰文(Thai) Unicode 編碼表:http://www.nengcha.com/code/unicode/class/31/
把這個字符復制到word里,默認字體顯示的是“Tahoma”。
我注意到很奇怪的一點,就是其他字符如果復制的話,會一下選中整個字符,而這個字符卻可以選中一部分。如圖,說明這個字符可能包含多個字符。
然后我試着改變字體,結果發現大多數字體都無法應用,最終發現少數可以用的字體,這才瞬間發現,原來這個字符的確是包含多個字符。
比如應用Symbol字體:
Webdings字體:
Wingdings
而且有趣的是,當你在以上這些字體下,增加或者減少第二個圖案的數量,再切換到Tahoma字體,並不會影響這個字符。
推測這可能是Tahoma字體在處理特殊字符時產生的一個小bug。。。。。
這個效果主要是利用 Unicode U+0300 到 U+03FF 區的組合標記 (combining marks) 實現的,這些標記本身沒有水平 advance,只會重疊在前一個非 combining mark 的字符上。
比如這里,其實組成就是首先一個 U+002E,也就是 .,然后放一堆 U+0338,也就是你看到的斜杠,這個斜杠也叫 NON-SPACING LONG SLASH OVERLAY,就是負責重疊在一起用的,它沒有垂直 advance 也沒有水平 advance,所以后一個字符總是會疊在前一個上面,越疊越黑;然后接着用 U+0328,也就是延伸到下面的一圈圈的圖案,每個是其中的一環,這個字符叫 COMBINING OGONEK,它有垂直 advance 但沒有水平 advance,所以后一個字符會接在前一個的下面而不是后面。第二組的原理是一樣的,也是先放一個 . 然后接多個 U+0338 和 U+0328。
==============================
這是堆在一起的 3 種字符:
U+002E FULL STOP(就是西文句點)
U+0338 COMBINING LONG SOLIDUS OVERLAY(是用於和其他字符組合顯示的 solidus,用於分數或金額的斜線 [1],我們一般都用 slash)
U+0328 COMBINING OGONEK(這是用於用於和拉丁字母組合顯示的變音符號 [2])
一共有 2 個 U+002E,26 個 U+0338 和 14 個 U+0328:
U+002E U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0338 U+0328 U+0328 U+0328 U+0328 U+0328 U+0328 U+0328 U+0328 U+0328 U+0328 U+0328 U+0328 U+002E U+0338 U+0338 U+0328 U+0328
U+0338 和 U+0328 都是用於「和其他字符組合顯示的」字符,所以它們會附着在前一個字符上,它們的位置是相對於前一個字符來確定的。
所以,以 U+002E 為基礎,后面的 U+0338 和 U+0328 都依次附着在前一個字符上,就成這樣了。其它很多用特殊字符玩的奇怪圖形的原理基本也都是這樣。
==============================
所以說這其實不是“一個字符”,而是疊在一起的好多個字符,這一點從 google 的提示中也可以以看出來:“你的查詢太冗長,請換較短字詞再試”。另外還可以試試把這個東西粘貼到任何地方,然后用 backspace 鍵刪掉,你會發現需要按大概 59 下才能刪掉。
【以下為游戲測試區】全選下面的字符,上下左右拖拽鼠標試試?……上班的時候就用這個來代替切水果吧 = =
想玩更多,或者看別人做出的奇葩圖案,來這里:http://www.guokr.com/post/206023/
————————————————————————————————
ฐ้้ฐ้้้ฐ้้้้ฐ้้้้้ฐ้้้้้้ฐ้้้้้้้ฐ้้้้้้้้ฐ้้้้้้้้้ฐ้้้้้้้้้้ฐ้้้้้้้้้้้ฐ้้้้้้้้้้้้ฐ้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้ฐ้้้้้้้้้ฐ้้้้้้้้้้ฐ้้้้้้้้้้้ฐ้้้้้้้้้้้้ฐ้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้
ฐ้้ฐ้้้ฐ้้้้ฐ้้้้้ฐ้้้้้้ฐ้้้้้้้ฐ้้้้้้้้ฐ้้้้้้้้้ฐ้้้้้้้้้้ฐ้้้้้้้้้้้ฐ้้้้้้้้้้้้ฐ้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้ฐ้้้้้้้้้ฐ้้้้้้้้้้ฐ้้้้้้้้้้้ฐ้้้้้้้้้้้้ฐ้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฐ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้
—————————————————————————————
你們能切成這樣嗎> <!
最后注明:本文參考自微博,果殼網,互聯網。