Emoji小結(jié)

Emoji問題由來

這里推薦周俊杰知乎上的的回答:Android 微信對 emoji 的支持是不是很差搂誉?為何這樣設(shè)計噩斟?

Emoji從最早開始到現(xiàn)在儒飒,比較通用的是兩種編碼方案眼姐,分別是Softbank和Unicode者蠕,android版微信早期也是使用Softbank編碼窃祝,然后客戶端根據(jù)表情對應(yīng)的Softbank編碼使用SpannableString在TextView, EditText中顯示成對應(yīng)的表情,此時Emoji表情的集合還不是很多踱侣,微信只打包進去了大概400多個左右粪小,在早期可以滿足大部分Emoji表情的顯示需求但是,隨著Unicode 6.0以及Unicode 7.0的發(fā)布抡句,越來越Emoji表情被加入到這個標(biāo)準(zhǔn)當(dāng)中探膊,iOS系統(tǒng)自行擴展OpenType標(biāo)準(zhǔn),通過Apple Color Emoji.ttf這個字體來講Emoji表情直接顯示出來(OSX下也有這個字體玉转,在/System/Library/Fonts/Apple Color Emoji.ttf)突想,當(dāng)時國外也有對這個問題進行過討論:Color bitmapfonts… thanks to Apple?! ,但是,由于新加進來的表情都沒有對應(yīng)的Softbank編碼猾担,無法轉(zhuǎn)碼成Softbank袭灯,并且客戶端在打包的時候只放進了400多個Emoji表情,所以在顯示的時候绑嘹,只能轉(zhuǎn)換成”..”來顯示

Emoji的過濾方式

網(wǎng)上文章也有很多:Android 準(zhǔn)確過濾(禁止) Emoji表情

鏈接1:Emoji列表過濾稽荧,但是直接從 Emoji Unicode Tables 網(wǎng)站獲取的列表 4. Enclosed characters ( 24C2 - 1F251 ) 區(qū)間會和漢字沖突,實際范圍是 24C2 和(1F170 - 1F251)工腋,標(biāo)題錯了姨丈,作者沒有修改直接把漢字內(nèi)容(例如:我,們擅腰,有 ……)也過濾了蟋恬,并且沒有過濾 5. Uncategorized 忽略了許多表情。列表過濾相對準(zhǔn)確趁冈,但是需要先加載列歼争,雖然使用了靜態(tài)方法但是首次使用要較長加載時間,過濾時匹配也相對耗時渗勘。

鏈接2:過濾區(qū)間沐绒,但是只過濾了雙字節(jié)的Emoji表情,忽略了單字節(jié)的表情旺坠,并且區(qū)間也不合理(判斷得很復(fù)雜乔遮,結(jié)果等同于直接過濾了 utf8
Surrogates,這樣如果有其他的 Surrogates 區(qū)的編碼字符也會被過濾掉)取刃。相對列表過濾速度快蹋肮,但存在多過濾和少過濾的較多。

綜合兩種情況考慮蝉衣,既要保證速度又要保證過濾的準(zhǔn)確性括尸。Android EditView 以 UTF-16 為編碼16位為一個單位。由于兩字節(jié)以上的Unicode 編碼基本上沒用到病毡,直接過濾掉 Surrogates 區(qū)(0xD800-0xDFFF)濒翻;再過濾掉單字節(jié)的Emoji表情列表。
當(dāng)然為了確保絕對只過濾Emoji表情啦膜,這里使用1的方法有送,修改了 4. Enclosed characters ( 24C2 - 1F251 ),添加了 5. Uncategorized 僧家,畢竟現(xiàn)在Android的處理器性能都很高雀摘,效率可以不用考慮了。當(dāng)然也可以使用區(qū)間過濾八拱,添加個 Scrope 阵赠,再修改下filter()方法涯塔。

  • -Emoji在不同版本的android手機上適配問題

    Android開發(fā)中,低版本Android系統(tǒng)和高版本Android系統(tǒng)分別怎么處理emoji?

  • 個人建議:關(guān)于Emoji兼容性清蚀,最好還是利用網(wǎng)上現(xiàn)有的Emoji相關(guān)庫匕荸,畢竟人多力量大,使用人數(shù)多肯定是有原因的枷邪。

    最后編輯于
    ?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
    • 序言:七十年代末榛搔,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子东揣,更是在濱河造成了極大的恐慌践惑,老刑警劉巖,帶你破解...
      沈念sama閱讀 222,590評論 6 517
    • 序言:濱河連續(xù)發(fā)生了三起死亡事件嘶卧,死亡現(xiàn)場離奇詭異尔觉,居然都是意外死亡,警方通過查閱死者的電腦和手機芥吟,發(fā)現(xiàn)死者居然都...
      沈念sama閱讀 95,157評論 3 399
    • 文/潘曉璐 我一進店門穷娱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人运沦,你說我怎么就攤上這事∨渖睿” “怎么了携添?”我有些...
      開封第一講書人閱讀 169,301評論 0 362
    • 文/不壞的土叔 我叫張陵,是天一觀的道長篓叶。 經(jīng)常有香客問我烈掠,道長,這世上最難降的妖魔是什么缸托? 我笑而不...
      開封第一講書人閱讀 60,078評論 1 300
    • 正文 為了忘掉前任左敌,我火速辦了婚禮,結(jié)果婚禮上俐镐,老公的妹妹穿的比我還像新娘矫限。我一直安慰自己,他們只是感情好佩抹,可當(dāng)我...
      茶點故事閱讀 69,082評論 6 398
    • 文/花漫 我一把揭開白布叼风。 她就那樣靜靜地躺著,像睡著了一般棍苹。 火紅的嫁衣襯著肌膚如雪无宿。 梳的紋絲不亂的頭發(fā)上,一...
      開封第一講書人閱讀 52,682評論 1 312
    • 那天枢里,我揣著相機與錄音孽鸡,去河邊找鬼蹂午。 笑死,一個胖子當(dāng)著我的面吹牛彬碱,可吹牛的內(nèi)容都是我干的豆胸。 我是一名探鬼主播,決...
      沈念sama閱讀 41,155評論 3 422
    • 文/蒼蘭香墨 我猛地睜開眼堡妒,長吁一口氣:“原來是場噩夢啊……” “哼配乱!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起皮迟,我...
      開封第一講書人閱讀 40,098評論 0 277
    • 序言:老撾萬榮一對情侶失蹤搬泥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后伏尼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體忿檩,經(jīng)...
      沈念sama閱讀 46,638評論 1 319
    • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
      茶點故事閱讀 38,701評論 3 342
    • 正文 我和宋清朗相戀三年爆阶,在試婚紗的時候發(fā)現(xiàn)自己被綠了燥透。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
      茶點故事閱讀 40,852評論 1 353
    • 序言:一個原本活蹦亂跳的男人離奇死亡辨图,死狀恐怖班套,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情故河,我是刑警寧澤吱韭,帶...
      沈念sama閱讀 36,520評論 5 351
    • 正文 年R本政府宣布,位于F島的核電站鱼的,受9級特大地震影響理盆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜凑阶,卻給世界環(huán)境...
      茶點故事閱讀 42,181評論 3 335
    • 文/蒙蒙 一猿规、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宙橱,春花似錦姨俩、人聲如沸。這莊子的主人今日做“春日...
      開封第一講書人閱讀 32,674評論 0 25
    • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至呕乎,卻和暖如春积担,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背猬仁。 一陣腳步聲響...
      開封第一講書人閱讀 33,788評論 1 274
    • 我被黑心中介騙來泰國打工帝璧, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留先誉,地道東北人。 一個月前我還...
      沈念sama閱讀 49,279評論 3 379
    • 正文 我出身青樓的烁,卻偏偏與公主長得像褐耳,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子渴庆,可洞房花燭夜當(dāng)晚...
      茶點故事閱讀 45,851評論 2 361

    推薦閱讀更多精彩內(nèi)容