日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

拆解Emoji隱藏代碼:Unicode碼點(diǎn)、SoftBank映射與字素簇處理

拆解Emoji隱藏代碼:Unicode碼點(diǎn)、SoftBank映射與字素簇處理 1. 先把隱藏代碼這四個字拆開看群里隔三差五就有人轉(zhuǎn)那種長圖標(biāo)題寫著微信聊天必備最新Emoji隱藏代碼大全配一張密密麻麻的表格左邊一串U1F600這樣的字符右邊一個小黃臉。底下總有人問這玩意兒怎么用我照著敲進(jìn)去發(fā)出來還是一堆字母。這個問題我在幾年前做聊天內(nèi)容處理的時候也困惑過。當(dāng)時要給一批聊天記錄做表情統(tǒng)計(jì)第一反應(yīng)是拿正則去匹配冒號包起來的英文單詞結(jié)果一條都匹配不上后來才反應(yīng)過來微信里根本沒有 Slack 那種:smile:自動轉(zhuǎn)換機(jī)制你發(fā)的每一個表情本質(zhì)上就是 Unicode 字符本身不存在敲代碼變圖標(biāo)這回事。所以這篇東西想講清楚三件事所謂隱藏代碼究竟是哪幾種東西混在一起被叫成了同一個名字SoftBank 和 Unified 這兩套編碼到底什么關(guān)系、對照表怎么讀以及如果你想真的做到敲兩三個字母就蹦出一個表情在微信這條鏈路上有哪些能落地的辦法。適合誰看做聊天類產(chǎn)品、做文本處理、做社群運(yùn)營或者單純想在聊天里少翻兩次表情面板的人都能拿走點(diǎn)東西。我先把最容易混淆的概念擺平不然往下看全是漿糊。1.1 三種被混稱為代碼的東西市面上流傳的Emoji代碼其實(shí)至少混了三種完全不同的東西。第一種是碼點(diǎn)Code Point寫作U1F600這種形式。它是 Unicode 標(biāo)準(zhǔn)給每個字符分配的編號純粹是身份證號跟微信、跟任何 App 都沒關(guān)系。你把這個編號敲進(jìn)輸入框它不會變成表情因?yàn)檩斎肟蛘J(rèn)的是字符本身不是編號的文本表示。第二種是短代碼Shortcode長成:smile:這樣。這套東西是聊天社區(qū)早期為了在純文本環(huán)境里表達(dá)表情發(fā)明的約定服務(wù)端渲染時把短代碼替換成圖片。它是一套私有約定不同平臺各玩各的GitHub 一套、Slack 一套、Discourse 又一套。微信不支持這套自動替換。第三種是轉(zhuǎn)義序列比如 JavaScript 里的\u{1F600}、HTML 里的#128512;、CSS 里的\01F600。這是給代碼看的瀏覽器或解析器會把它還原成字符但你直接發(fā)到聊天框里對方看到的就是反斜杠加一串?dāng)?shù)字。真正能發(fā)出去變成表情的只有字符本身。所謂隱藏代碼大全絕大多數(shù)是把碼點(diǎn)表偽裝成了操作指南。注意看到任何教程讓你在微信輸入框輸入 U1F600直接關(guān)掉就行那玩意兒發(fā)出去就是一串 ASCII 字符。1.2 那為什么有人照著做真的成功了因?yàn)槟遣糠秩俗龅氖菑?fù)制粘貼不是輸入。碼點(diǎn)表和字符表往往并排放在一張圖里字符那一列是可選中的真實(shí)字符。選中、復(fù)制、粘貼到微信表情就出來了。整個過程跟代碼沒有半點(diǎn)關(guān)系純粹是字符搬運(yùn)。還有一種情況是輸入法的自定義短語。主流輸入法都支持設(shè)置觸發(fā)碼 → 輸出內(nèi)容你把觸發(fā)碼設(shè)成xh、輸出內(nèi)容設(shè)成 之后敲xh就能出圖。這才是真正意義上的敲代碼出表情只不過這個代碼是你自己定的跟 Unicode 一點(diǎn)關(guān)系都沒有。我在給社群做表情包整理的時候就是靠自定義短語解決的。把三十來個高頻表情做成兩字母觸發(fā)碼聊天效率提升非常明顯比每次翻面板快太多了。1.3 這套東西的適用邊界在哪先說清楚它能干什么讓你快速輸入冷門表情、讓你在昵稱簽名里塞進(jìn)特殊符號、讓你批量處理文本里的表情、讓你做聊天記錄分析。再說清楚它不能干什么。它不能突破平臺的輸入限制不能讓你發(fā)出別人看不到的隱藏消息也不能保證同一個碼點(diǎn)在所有人手機(jī)上長得一樣。最后這條特別重要。同一個碼點(diǎn)在 iOS、Android、Windows 上渲染出來的圖案可能完全不同甚至同一個系統(tǒng)的不同版本都會變。你精心挑了一個看起來最可愛的表情發(fā)出去在別人那兒可能是個方框。這個坑后面會單獨(dú)講。2. Emoji 的底層結(jié)構(gòu)一個表情不等于一個字符想搞懂對照表得先接受一個反直覺的事實(shí)你在屏幕上看到的一個表情在計(jì)算機(jī)里可能是 1 個字符也可能是 7 個、11 個字符。這個認(rèn)知我第一次撞上的時候挺震驚的。當(dāng)時寫一個長度校驗(yàn)限制用戶輸入 20 個字測試同學(xué)輸入了四個一家四口的表情系統(tǒng)提示超長。我盯著屏幕數(shù)了半天明明是 4 個圖形怎么就超了2.1 碼點(diǎn)、平面與 UTF-8 / UTF-16 的換算Unicode 把字符空間分成 17 個平面每個平面 65536 個碼位。我們?nèi)粘S玫臐h字、拉丁字母在第 0 平面BMP碼點(diǎn)范圍 U0000 到 UFFFF。Emoji 大部分在第 1 平面從 U1F300 開始往上這一片叫 supplemental symbolsBMP 之外的區(qū)域。這個位置決定了它在不同編碼下的存儲長度編碼 (U1F600) 的表示占用UTF-8F0 9F 98 804 字節(jié)UTF-16D83D DE002 個碼元4 字節(jié)UTF-3200 01 F6 004 字節(jié)關(guān)鍵在于 UTF-16。它用 16 位表示一個碼元裝不下 U1F600所以發(fā)明了代理對Surrogate Pair用兩個 16 位碼元拼出第 1 平面之外的字符。高位代理范圍 D800–DBFF低位代理 DC00–DFFF。換算公式得記住做底層處理繞不開給定碼點(diǎn) cpcp 0xFFFF high 0xD800 ((cp - 0x10000) 10) low 0xDC00 ((cp - 0x10000) 0x3FF)拿 U1F600 驗(yàn)算一下cp - 0x10000 0xF600右移 10 位得0x3D加0xD800等于0xD83D低 10 位0x200加0xDC00等于0xDE00。對上了。這個知識點(diǎn)為什么重要因?yàn)?JavaScript 的string.length算的就是碼元數(shù)不是字符數(shù)。 在 JS 里length是 2在 Python 里len()是 1Python 3 按碼點(diǎn)算。同一個字符串兩門語言報(bào)出兩個數(shù)字跨語言對接的時候能坑死人。2.2 變體選擇符那個看不見的 FE0F有些字符天生可文可圖最典型的是 ?U2600。它既可以是純文本符號也可以是彩色表情。決定它長什么樣的是后面跟的那個UFE0F。U2600單獨(dú)出現(xiàn) → 系統(tǒng)按文本渲染通常是個細(xì)線條的黑色太陽U2600 UFE0F→ 強(qiáng)制按 emoji 渲染變成彩色UFE0F叫變體選擇符-16Variation Selector-16是個零寬字符肉眼完全看不見。這就解釋了一個高頻現(xiàn)象你從某個網(wǎng)頁復(fù)制了一個表情粘到微信里變成個黑白小符號怎么調(diào)都調(diào)不回來。原因就是復(fù)制的時候那個 FE0F 被丟了。反過來還有UFE0EVS-15作用是強(qiáng)制文本渲染。想發(fā)個看起來不像表情的表情就用它。數(shù)字鍵帽那套也是同一個道理1?? U0031 UFE0F U20E3 數(shù)字1變體選擇包圍鍵帽三個碼點(diǎn)渲染成一個圖形。你要是把中間那個 FE0F 刪掉某些系統(tǒng)就只顯示一個光禿禿的 1。提示做文本清洗的時候千萬別無腦過濾不可見字符。FE0F、ZWJ、膚色修飾符都屬于這一類刪了表情就散架。2.3 ZWJ 與膚色修飾符長度爆炸的元兇U200D叫零寬連接符ZWJ, Zero Width Joiner作用是告訴渲染引擎把前后兩個表情粘成一個。這是 emoji 組合的核心機(jī)制。一家四口那個表情 ZWJ ZWJ ZWJ 拆開算4 個人物表情每個是 2 個 UTF-16 碼元共 8 個3 個 ZWJ每個 1 個碼元共 3 個。合計(jì)11 個碼元7 個碼點(diǎn)但用戶眼里只有1 個字符。這種多個碼點(diǎn)組成一個視覺單位的東西專業(yè)叫法是字素簇Grapheme Cluster。判斷長度的正確姿勢是按字素簇算不是按碼點(diǎn)更不是按碼元。膚色修飾符是另一套機(jī)制。U1F3FB到U1F3FF五個碼點(diǎn)對應(yīng)從淺到深的五檔膚色跟在人物表情后面直接生效 U1F466 → 默認(rèn)黃色小孩 U1F466 U1F3FB → 淺膚色 U1F466 U1F3FF → 深膚色注意這是緊跟不是 ZWJ 連接。寫錯了沒用會渲染成兩個獨(dú)立字符。這幾種結(jié)構(gòu)疊在一起就出現(xiàn)了一個經(jīng)典的長尾問題你以為限制了 20 個字實(shí)際上用戶輸入 4 個復(fù)合表情就超了你以為數(shù)據(jù)庫字段長度夠?qū)嶋H上一條記錄光表情就占掉幾十個碼元。3. SoftBank、Unified 與各平臺編碼的對照關(guān)系現(xiàn)在進(jìn)入正題。為什么會有 SoftBank 這個東西3.1 私有區(qū)編碼是怎么來的時間倒回功能機(jī)時代。那會兒各家運(yùn)營商各自搞了一套表情符號在自己的網(wǎng)絡(luò)和定制機(jī)之間傳。這些符號在 Unicode 標(biāo)準(zhǔn)里根本不存在于是被塞進(jìn)了私有使用區(qū)PUA, Private Use Area也就是 UE000–UF8FF 這一片誰愛用誰用、標(biāo)準(zhǔn)不管的區(qū)域。SoftBank 的映射就是這套歷史產(chǎn)物碼位集中在 UE001–UE05A、UE101–UE15A、UE201–UE253 等幾個區(qū)間。同期還有另外兩家運(yùn)營商也各搞了一套碼位互不相同。后來 Unicode 官方開始收編表情把它們統(tǒng)一分配到了 U1F300 往上那一片正式碼位這套統(tǒng)一后的編碼就叫Unified。收編的過程中官方做了映射表把各家 PUA 碼位對應(yīng)到新的 Unified 碼位。所以兩者的關(guān)系是SoftBank 是歷史遺留的私有編碼Unified 是現(xiàn)在的標(biāo)準(zhǔn)編碼對照表就是一張舊地址 → 新地址的遷移表。有意思的是這個遷移不是一一對應(yīng)的。SoftBank 那套總共幾百個表情而現(xiàn)在的 Unicode 表情已經(jīng)超過三千個含各種組合。所以會出現(xiàn)一個 SoftBank 碼位對一個 Unified 碼位最常見多個 SoftBank 碼位對同一個 Unified歷史重復(fù)大量 Unified 碼位沒有SoftBank 對應(yīng)新增的表情3.2 對照表長什么樣下面這張表是結(jié)構(gòu)示意列了我印象最深的幾個映射方便你理解字段關(guān)系。完整的映射有幾百行從開源數(shù)據(jù)倉庫拉更靠譜。SoftBank (PUA)Unified (Unicode)字符名稱UE001U1F466boyUE002U1F467girlUE003U1F468manUE004U1F469womanUE005U1F46AfamilyUE04AU2600?black sun with raysUE04BU2601?cloudUE04CU1F319crescent moon讀這張表有個細(xì)節(jié)要注意U2600和U1F319都在 BMP 或者第 1 平面跟前面那些 U1F4xx 混在一起看不出規(guī)律。這是因?yàn)?Unicode 收編的時候是按語義分區(qū)不是按來源分區(qū)。另一件事SoftBank 碼位落在 PUA意味著它沒有標(biāo)準(zhǔn)字形。同一個 UE001在舊設(shè)備上可能顯示成小男孩在現(xiàn)在的設(shè)備上大概率是個方塊或者問號因?yàn)楝F(xiàn)代字體根本不認(rèn)這個地址。這就是為什么老聊天記錄遷移到新系統(tǒng)里表情會集體變成豆腐塊。3.3 自己生成對照表比抄表靠譜網(wǎng)上流傳的對照表質(zhì)量參差不齊我見過至少三個版本在 UE04C 這一行對不上。與其抄不如自己拉官方數(shù)據(jù)生成。Unicode 官方在 emoji 數(shù)據(jù)倉庫里放了幾個關(guān)鍵文件文件名內(nèi)容用途emoji-data.txt所有 emoji 碼點(diǎn)及屬性判斷某碼點(diǎn)是不是 emojiemoji-test.txt完整序列及限定狀態(tài)生成完整表情清單emoji-sequences.txt組合序列鍵帽、旗幟等處理多碼點(diǎn)組合emoji-zwj-sequences.txtZWJ 組合序列處理家庭、職業(yè)等復(fù)合表情emoji-test.txt的行格式是這樣的1F600 ; fully-qualified # E1.0 grinning face四個字段用分號和井號隔開碼點(diǎn)序列、限定狀態(tài)、字符本身、引入版本和名稱。限定狀態(tài)有四種取值fully-qualified是完整形式minimally-qualified是省略了 FE0F 的簡化形式unqualified是完全省略component表示這是個組件比如膚色修飾符不能單獨(dú)用。做輸入聯(lián)想、做表情搜索都從這個文件入手最穩(wěn)。至于 SoftBank 那部分映射不在上面這幾個文件里得單獨(dú)找社區(qū)維護(hù)的對照數(shù)據(jù)。我這里給個建議如果你的場景是新建系統(tǒng)壓根不需要 SoftBank。它只在處理歷史數(shù)據(jù)遷移、解析老設(shè)備日志的時候才用得上。4. 動手從數(shù)據(jù)整理到微信端落地光講原理沒意思下面是我實(shí)際搭過的一套流程從數(shù)據(jù)源到最終在聊天里用起來每一步都能復(fù)現(xiàn)。4.1 第一步把數(shù)據(jù)源拉下來清洗先從官方倉庫拿到emoji-test.txt然后解析成結(jié)構(gòu)化數(shù)據(jù)。Python 處理這類文本特別順手import re PATTERN re.compile( r^(?Pcodes[0-9A-F ])\s*;\s*(?Pstatus\S)\s*#\s*(?Pchar\S)\s*E(?Pversion[\d.])\s*(?Pname.)$ ) def parse_emoji_test(path): items [] with open(path, encodingutf-8) as f: for line in f: line line.strip() if not line or line.startswith(#): continue m PATTERN.match(line) if not m: continue codes [int(c, 16) for c in m.group(codes).split()] items.append({ codes: codes, char: .join(chr(c) for c in codes), status: m.group(status), version: m.group(version), name: m.group(name).strip(), }) return items跑完之后你會拿到幾千條記錄。接下來做個篩選只保留fully-qualified。其他狀態(tài)在輸入框里發(fā)出去多數(shù)客戶端會自動補(bǔ)全成完整形式你按簡化形式存反而容易出問題。這一步我踩過的坑是沒處理版本。E1.0到E15.0跨度十幾年如果你的目標(biāo)用戶里有大量老舊安卓機(jī)把 E13.0 之后的新表情推給他們顯示出來就是空白。合理做法是按版本打個標(biāo)記前端根據(jù) UA 或者系統(tǒng)版本做降級。4.2 第二步編碼轉(zhuǎn)換的核心邏輯SoftBank 轉(zhuǎn) Unified本質(zhì)就是查表替換。邏輯簡單到有點(diǎn)無聊SOFTBANK_TO_UNIFIED { 0xE001: [0x1F466], 0xE002: [0x1F467], 0xE003: [0x1F468], 0xE004: [0x1F469], 0xE005: [0x1F46A], 0xE04A: [0x2600], 0xE04B: [0x2601], } def softbank_to_unified(text: str) - str: out [] for ch in text: cp ord(ch) targets SOFTBANK_TO_UNIFIED.get(cp) if targets: out.append(.join(chr(c) for c in targets)) else: out.append(ch) return .join(out)注意 value 用的是列表而不是單個整數(shù)。原因前面提過少數(shù) SoftBank 碼位會映射到多個 Unicode 碼點(diǎn)組成的序列比如某些帶修飾的組合。用列表能兼容兩種情況以后補(bǔ)數(shù)據(jù)不用改函數(shù)簽名。反向轉(zhuǎn)換就麻煩多了因?yàn)橛成涫嵌鄬σ坏囊粋€ Unified 碼位可能對應(yīng)多個 SoftBank 碼位也可能一個都沒有。穩(wěn)妥做法是給每個 Unified 碼位維護(hù)一個候選列表轉(zhuǎn)換時取第一個同時記錄無對應(yīng)的情況。def unified_to_softbank(text: str, reverse_map: dict) - str: out [] for ch in text: cp ord(ch) candidates reverse_map.get(cp) if candidates: out.append(chr(candidates[0])) else: # 沒有對應(yīng)原樣保留或替換成占位符 out.append(ch) return .join(out)實(shí)際跑歷史數(shù)據(jù)的時候無對應(yīng)的比例會高得嚇人。我處理過一批十年前的聊天記錄SoftBank 表情占比不到 15%剩下全是后來新增的 Unified 表情。所以如果你的遷移方向是老 → 新工作量很小如果是新 → 老基本沒法無損。4.3 第三步在微信里真正用起來回到最開始的問題。想在微信里快速發(fā)冷門表情有下面幾條路按我實(shí)際體驗(yàn)的順手程度排序。路子一輸入法自定義短語。這是最接近敲代碼出圖的方案。進(jìn)輸入法設(shè)置找到自定義短語或快捷輸入新增一條觸發(fā)碼填xh內(nèi)容填 。保存后在任何輸入框里敲xh候選欄第一個就是這個表情。我自己的碼表是這么設(shè)計(jì)的兩個字母第一個字母表示大類x笑、k哭、z贊、a愛第二個字母是細(xì)分。三十來?xiàng)l覆蓋了日常 95% 的場景敲起來比翻面板快。這套碼表跟著輸入法賬號走換手機(jī)也能同步。路子二系統(tǒng)級文本替換。iOS 在設(shè)置 → 通用 → 鍵盤 → 文本替換里安卓各家在語言與輸入法里都有類似功能。效果跟輸入法短語差不多區(qū)別是系統(tǒng)級替換對所有 App 生效包括那些不吃輸入法候選欄的場景。缺點(diǎn)是改起來麻煩得進(jìn)設(shè)置一層層翻。路子三微信自定義表情。把常用表情存成自定義表情會進(jìn)到表情面板的收藏Tab位置固定翻起來比在幾百個默認(rèn)表情里找快。適合那些一天用十次的高頻表情。路子四復(fù)制粘貼。最原始但對付一次性需求很好用。從系統(tǒng)字符面板iOS 長按地球鍵、macOS 的 CmdCtrlSpace、Windows 的 Win句號里選比在網(wǎng)上找對照表靠譜得多。提示別信輸入特定字符組合會觸發(fā)彩蛋表情這類說法。真有這種機(jī)制也早就在版本更新里被修掉了。4.4 第四步長度計(jì)算與截?cái)嗬@不開的坑前面鋪墊了那么多碼點(diǎn)、碼元、字素簇這里就是用武之地。假設(shè)你要做一條最多 50 字的輸入限制。用len()算碼點(diǎn)數(shù)用戶輸入乘以 12 組碼點(diǎn)數(shù)是 84提示超長但用戶眼里只有 12 個圖形主觀感受是我才打了 12 個。這種體驗(yàn)落差會直接被投訴。正確做法是按字素簇算import regex def grapheme_len(text: str) - int: return len(regex.findall(r\X, text)) print(grapheme_len()) # 1 print(len()) # 7regex這個第三方庫支持\X元字符專門匹配字素簇。標(biāo)準(zhǔn)庫re不支持硬用會出錯。JavaScript 這邊稍微麻煩點(diǎn)得用Intl.Segmenterconst seg new Intl.Segmenter(zh, { granularity: grapheme }); const s ; console.log([...seg.segment(s)].length); // 1 console.log(s.length); // 11Intl.Segmenter在主流瀏覽器和 Node 16 都支持老環(huán)境得準(zhǔn)備 polyfill。還有個更隱蔽的坑截?cái)唷0创a點(diǎn)截?cái)嗪苋菀装汛韺ε蓛砂氘a(chǎn)生非法字符。比如把的D83D留下、DE00砍掉結(jié)果是一個無法渲染的孤立代理。這個字符串存進(jìn)數(shù)據(jù)庫、傳給別人可能直接導(dǎo)致對方客戶端報(bào)錯。穩(wěn)妥的截?cái)喾绞绞窍劝醋炙卮厍蟹衷偃∏?N 個最后拼回去。慢一點(diǎn)但不會出事。5. 常見問題與排查實(shí)錄這一節(jié)全是踩過的坑按出現(xiàn)頻率排序。5.1 顯示成方塊、問號、空白這是最高頻的問題原因至少四種得逐個排。原因一碼點(diǎn)超出接收端支持范圍。對方系統(tǒng)版本老字體里沒有這個字形就顯示方塊俗稱豆腐塊。Unicode 15.0 之后新增的表情在兩三年前的設(shè)備上基本都不認(rèn)。判斷方法把同一個表情發(fā)給不同系統(tǒng)的設(shè)備如果只有部分出問題就是這個原因。沒解只能降級用老表情。原因二變體選擇符丟失。前面講過?少了UFE0F就從彩色變黑白1??少了U20E3就退化成普通數(shù)字。這類問題肉眼看著沒壞但不對容易被忽略。原因三PUA 字符沒做轉(zhuǎn)換。老數(shù)據(jù)里殘留的UE001這類私有區(qū)碼位現(xiàn)代字體一律不認(rèn)全是方塊。排查方法很簡單把字符串按碼點(diǎn)拆開看有沒有落在UE000–UF8FF區(qū)間的有就說明需要跑一遍轉(zhuǎn)換。原因四編碼不匹配。UTF-8 字節(jié)流被當(dāng)成 Latin-1 解碼會出現(xiàn)e和一堆亂碼。這個特征太明顯一般不會認(rèn)錯。5.2 數(shù)據(jù)庫存儲字符集是第一道關(guān)MySQL 用utf8字符集注意不是utf8mb4存 emoji會直接報(bào)錯或者存成????。因?yàn)?MySQL 的utf8實(shí)際是utf8mb3最多 3 字節(jié)而第 1 平面的 emoji 需要 4 字節(jié)。改法ALTER TABLE chat_messages CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;改完之后還有兩個連帶問題。一是索引長度。早期 MySQL 版本單列索引最長 767 字節(jié)utf8mb4一個字符占 4 字節(jié)所以 varchar 索引最多 191 個字符。這就是那個著名的191 索引長度問題的來源?,F(xiàn)在主流版本默認(rèn) 3072 字節(jié)基本不用管了但如果接手老庫還是可能撞上。二是排序和比較。不同 collation 對 emoji 的處理不一樣做按表情聚合這類需求時utf8mb4_unicode_ci和utf8mb4_0900_ai_ci的結(jié)果可能不同。我一般統(tǒng)一用后者M(jìn)ySQL 8.0 默認(rèn)值行為更符合直覺。5.3 問題速查表把上面這些整理成一張表出問題時對著查現(xiàn)象最可能原因排查方法處理方式發(fā)出去是方框接收端無該字形換設(shè)備交叉驗(yàn)證降級用低版本表情黑白與彩色不一致缺 FE0F打印碼點(diǎn)十六進(jìn)制補(bǔ)上 UFE0F鍵帽不對勁缺 20E3 或 FE0F同上補(bǔ)全三碼點(diǎn)序列數(shù)據(jù)庫存成問號字符集非 utf8mb4SHOW CREATE TABLE改字符集截?cái)嗪笳麠l消息異常代理對被劈開檢查孤立代理項(xiàng)按字素簇截?cái)嚅L度校驗(yàn)誤判按碼元計(jì)數(shù)對比碼元數(shù)與字素簇?cái)?shù)改按字素簇算老記錄全是方塊PUA 未轉(zhuǎn)換查碼點(diǎn)是否在 PUA跑 SoftBank 轉(zhuǎn)換5.4 我自己踩得最慘的一次說個具體的。早期做聊天記錄導(dǎo)出我寫了個清理不可見字符的函數(shù)用的是白名單之外一律過濾的邏輯。上線之后用戶反饋所有一家三口類的復(fù)合表情都變成了三個人分開站著中間還多倆空格。原因就是把U200D當(dāng)成了不可見字符給刪了。ZWJ 確實(shí)是零寬的但它承擔(dān)的是連接語義刪掉之后組合就散了。后來我把白名單改成了只過濾 U0000–U0008、U000B–U001F 這些真正的控制字符其他一律保留。另外加了一條規(guī)則任何對文本的壓縮、去重、清洗都要在字素簇層面做不能碰單個碼點(diǎn)。這件事之后我養(yǎng)成了一個習(xí)慣凡是處理文本的代碼測試用例里必帶三種數(shù)據(jù)——一個普通 emoji、一個 ZWJ 復(fù)合表情、一個帶膚色的表情。三個都過了才算過。還有一個偏門的經(jīng)驗(yàn)微信的昵稱和簽名對表情的支持比聊天框保守。有些在聊天里正常顯示的表情放進(jìn)昵稱會顯示成問號或者被截?cái)?。我一般建議用 Unicode 6.0 之前的老表情兼容性最穩(wěn)。6. 關(guān)于對照表最后說幾句實(shí)在話我把Emoji隱藏代碼這件事拆到現(xiàn)在結(jié)論其實(shí)有點(diǎn)掃興真正有用的不是那張表而是背后的數(shù)據(jù)處理能力。對照表是一次性消費(fèi)品抄完就完事了而且大概率抄來的版本有錯。但只要你理解了碼點(diǎn)、代理對、字素簇這三層結(jié)構(gòu)遇到任何表情顯示異常長度計(jì)算不對截?cái)喑鰜y碼的問題都能自己定位。至于微信這條鏈路最實(shí)用的技巧說出來可能讓人失望——配好輸入法的自定義短語比任何對照表都管用。我自己的碼表用了三年中間只調(diào)整過兩次一次是加了幾個新的一次是刪掉了幾個總打錯重碼的。這套東西一旦配好聊天效率的提升是實(shí)打?qū)嵉谋仁詹匾话購垖φ臻L圖強(qiáng)。如果還想往下擴(kuò)展有兩個方向值得琢磨。一是把表情按語義標(biāo)簽重建索引比如把所有情緒-正向的表情歸一類做搜索的時候按情緒找比按名字找符合直覺。二是做版本適配層根據(jù)客戶端版本動態(tài)決定用哪套表情這個在跨端產(chǎn)品里遲早要面對。這兩個話題都能單獨(dú)寫一篇今天就不展開了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久只有精品一区二区三区| 久久精品国产亚洲AV成人直播| 老熟女区| 五月香婷婷| 99re国产精品视频| 色图综合网| 我爱搞逼综合网| 久久大香蕉手机高清| 亚洲一卡2卡3卡4卡乱码网站 | 人妻天天爽| 久久五月份| 91香蕉国产尤物视频| 大香蕉一人在线| 丁香六月婷婷久久综合| 午夜大香蕉| 欧美日韩*字幕一区| 久久噜噜噜精品国产亚洲综合| 天堂资源欧美| 中文伊人大香蕉视频| 婷婷激情五月| 五月色网| 一区=区三区视频| 黄色性爱网网| 久久精品色欧美aⅴ一区二区| 欧美亚洲自拍另类人妻| 一牛影视成人片免费| 美国日韩黄片| 免费在线黄片视频| 欧洲成人性爱视频| 精品欧美А∨无码黑人大荫蒂 | 天天做日日做天天欢。| 人人摸人人摸人人干| 超碰在线观看av不卡| 亚洲黄色视频在线观看视频| 一级毛片电影免费看| 亚洲资源站| 亚洲第一男人天堂| 久久久一区二区三区麻豆| 99re在线视频国产| 97国产精品在线观看| 亚洲高清男人天堂| 美女黄网| 嫩呦国产一区二区三区AV| 91丨人妻丨国产丨丝袜| 91精品久久久| 狠狠综合网| 狠狠干,狠狠操| 江都AV在线| 欧美日本天堂| 另类小说欧美激情校园春色| 黄片免费日韩| 国产女s强制榨精视频| 亚洲囯产精品女人久久久| 蜜乳AV.COM| 强歼乱伦资源网| A 天堂在线观看视频| www.人人cao| 亚洲色图91欧美日韩| 欧美婷婷久久| 色97国产69香蕉| 91性感在线| 在线观看亚洲成人精品| 91狠狠综合久久久久久| 中文字幕版| 久热大香蕉网站| 丰满少妇精品一区二区| 人人玩人人添人人澡免费| 狠狠操夜夜| 99精品成人免费看| 97超碰总站| 少妇天堂| 99性爱在线观看| 人妻熟女字幕一区二区| 91九色丰满高潮| 一区二区三| 欧美综合国产精品久久丁香| 大香蕉97久久| 亚拍在线| 久久久9999| 一级特黄aaa大片在线观看成人一级片在线观看 | 综合97| 黄色片一区二区三区四区五区| 五月天婷精品激情| 久热伊人99re| 欧亚韩国999| 国产精品永久免费10000| 亚洲操操| 超碰到97情色| 久久精品国产精品一区| 99久久婷婷国产综合精品草原| 内射中出日韩在线观看视频| 国内毛片四区| 乱伦日本色图AⅤ| 久久国色天香香蕉| 大香蕉中文| 免费精品福利在线观看| 国产精品第二页| 色97干| 欧美精品成人在线播放| av情色影音| 2017天天操| a级成人毛片免费视频高清| 久操九九九九| 日韩精品-原创伙伴| 性爱Av免费| 麻豆2区1区天美| 怡红院亚洲怡春院av| 欧美91视频| 久久9精品视频| julia国产在线| 九九久久一区二区伦理| 欧美性高潮在线| 一个人免费HD91视频| 麻豆一区在线| 国语国产操逼伊人AV网| 青青欧洲黑| 欧美一二三级精品在线| 国产偷仑| 尤物黄色在线观看网站| 97在线看| 新怡红院| 色999偷自拍拍| 老女人91| 婷婷中文字幕| αⅴ天堂| 亚洲欧洲网站免费观看| 日韩丰满熟妇| 欧美久久久15P| 久久伊人亚洲AV无码网站| 强奸乱伦大香蕉网| 青青草黑寡妇男人天堂| 9久久9综合| 天天综合网在线观看| 欧美精品日韩一区二区| 欲香欲色综合天天伊人| 久久久久成人蜜桃精品| 精品日韩人妻精品一二三区| 粉嫩少妇自慰在线| 国产精品自拍欧美在线| 亚洲色图 91| 免费观看啪视频| 天美传媒麻豆一区二区三区国产精| 激情九月婷婷| 久久久久久9| 亚洲宗合电影| 在线99热| 色屁屁影院www国产| 五月天综合网| 曰韩成人免费视频| 老熟女网站| 青青草白白色| 日韩午夜啪啪视频| 超碰97国产欧美| 激情网色| 欧成人精品一区二区三区| 超碰公开久久网| 老司机天天操| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 18啪啪手机免费性爱| 天天草AV| 亚洲天天艹| 天天干干天天干干| 91狠狠综合久久| 一牛影视久久久一区二区三区| 在线岛国新天堂8| 色偷偷男人的天堂麻豆| 久久熟女人| 久久精品毛片免费不卡| 2017亚洲天堂| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 97超碰久久色| 超碰色中文| 国产熟女免费观看久久| 国产传媒一区二区三区| 51一区二区三区| 99re不伦| 亚洲国产第一页综合视频| 91女优在线观看| 天天做日日爱夜夜爽| 肉动漫无遮挡h在线观看| 色777999综合| 日本啊啊啊啊啊视频| 人妻-91porn| 亚州免费啪啪视频| 国产在线能看的你懂的| 91爱| 国产一区在线看| 2000亚洲男人天堂| 中文字幕一区二区三区蜜臀| 蜜臀久久99精品久久综合| 狠狠中文字幕| 美国精品国产精品| 亚洲精品久久久久毛片A片拉屎 | 青娱乐手机日韩在线视频| 婷婷色一区| 蜜桃无码AV一区二区| 天天干天天燥| 国产91啪| 日韩性爱人人爱人人操| www.99中文字幕| aV中亚| 男人的天堂va在线| 极品肉射| 99这里只有精品国产| 成人线上超碰| 日本熟女不卡视频| 日韩欧美福利视频看看| 你懂的在线观看区国产| 无码天天操| 久热精品在线国产| 亚洲熟女性高潮久久久| 成在线人在线观看视频| 东北丰满熟女国产一区| 色情五月丁香| 日韩另类色图| 欧美色图 人妻| 久久爽爽精品| 欧美色图在线视频少妇| 欧美日韩人妻少妇 一区二区三区| 操亚州| 国产丸一视频| 舔人妻中文免费视频| 99草精| 亚洲国产97| 精品人妻一二三| 91天天看| 综合色99| 色综合美国| 色精品极品| 好看的91视频| 久欲AV| 日韩熟女精一区二区三区不卡| 麻豆熟妇乱妇熟色A片在线看| 69久久| 国产高清成人免费视频| 日本精品网站在线中文| 色噜噜人妻丝袜a∨先锋影| 强奸乱伦资源| 久99久视频精选| 91丝袜美腿网站| 亚洲国内精品成人不卡| 抽插一区二区视频| 国产91福利小视频在线观看| 黄页视频网站野外| 69超碰综合| av亚洲天堂资源网站| 亚洲色图欧美另类在线| 亚洲Av诱惑| 1769成人国产精品视频| 亚洲αv一区二区三区| 亚洲天堂99| 欧洲中文字幕| 久久风骚城市人| 蜜臀久久99精品久久久久| 国产第12页| 丁香五月性爱| 久久日本熟女精品一区| 试看60秒 爽| 日韩成人人妻网站| av影片在线观看不卡| 东北丰满熟女国产一区| 久操综合在线| 亚州男人天堂| 国模少妇一区二区三区| 草久久久| 97在线免费观看视频| 国产精品欧美日韩久久| 久久久影院| 97亚洲自在精品在线观看| 久久精品国产精品一区 | 婷婷在线播放| 亚洲欧美91√| WWW啪啪的com| 久极品在线观看| 日本不卡一二区| 无码在线亚洲| 97超碰中文| {男男暴菊gay无套网站| 亚州乱码中文字幕综合久久久| 日本亚洲嫩草影院啪啪| 中文字幕在线观看二区三区| 久久这里| 上海一级黄片| 亚洲色入欧美| 久久国内| 少妇久久久免费| 涩涩涩综合| 国产精品久久久蜜臀| 96精品久久久久久久久久| 九九香蕉网| 人妻精品一区一区三区蜜桃91| 国内偷自视频区视频综合| 大胆91| 九九九九九九综合| 免费看毛片操穴| 亚洲熟女诱惑| 久久人妻丝袜一区二区三| 欧美色吧综合| 日韩精品 资源| 久久久久久九九九九九| 一区二区日韩欧美久久| 在线中文字幕视频| 亚洲乱色视频一区、二区在线| 好爽视频在线观看视频 | 色av中文字| 78久久| 国产欧美一区二区| 国产一区二区在线播放量| 亚洲图片欧美制度| 亚洲成人一区二区精品| 青草伊人久久| 天天影视综合网欧美精品| 偷拍综合网| 99re只有精品| 五月丁香社区婷婷日韩欧美精品影院| 亚洲影视高清三级-草1024榴社区入口-品爱AV | 日本一本一区二区三区四区五区欧美日韩中文字幕 | 蜜桃臀av在线观看| 亚洲97成人在线观看| 日夜久久久九九九久| 亚洲av综合色区图片亚洲| 天天超级碰碰碰| 欧美一区二区观看在线| 亚洲色图 欧美| 超碰97色色| 久久久国产亚洲精品系列| 亚洲怡春院| 这里只有精品久久| 亚欧性爱无码| 色九久| 草b在线| 国产亚洲中文不卡二区| 国产91美女视频| 区日韩亚洲乱码av电影| 久久久久国产一区二| 欧美综合1性辶| 亚洲精品丝袜| 囯产操逼片| 天美传媒婬乱在| 免费超碰97久久| 丁香五月激情网| 成人无码在线超碰网| 9.1小视频| 男人的天堂色偷偷青青草视频婷婷网| 欧美性爱一级操| 亚洲女人91| 青青草在线成人视频| 欧美的性爱网站免费| 久久久久久久综合,国产| www.zbzhongsen.com| 欧美精品23| 变态另类专区| 性老妇一区二区三区| 亚洲色欲天天人妻无码系列专区| 久久久久亚洲av综合波多野制衣| 男人天堂网址| 国产人妻久久精品一区二区三区| 亚洲色图欧美色图制服诱惑| 欧美 中文字幕 一区| 日本99久久| 中国大陆国产高清AⅤ毛片| 亚洲日韩美女丝袜美腿人妻视频| 97超碰中文字幕| 亚洲综合有玛| 天天香香欲综合| 欧美有码激情视频一区二区三区| 操逼网免费无码视频| 国产传媒午夜理伦精品| 黑人娇小av在线播放| 91热| 日韩久射综合| 亚洲九九视频| 蜜臀在线看片| 亚洲脚交| 日韩大香蕉AV影片| 91情色在线| 日日日日做夜夜夜夜做无码97| 精品久久久久黄少妇| 色女女女导航| 青青青国产| 欧美性爱97超碰| 99久热| 簧片免费看视频| 欧美顶级黄色大片免费| 欧美人妻精品一区二区| 国产一区二区视频在线播放| 蜜桃av综合网发布| 免费AV播放| 操操啪| 激情六月天| 激情六月天| 天美传媒国产原创中文字幕亚洲欧美另类| 五月激情综合网| 日韩久久三区| 草b在线| 日韩精品9999| 亚洲色入欧美| 欲香欲色综合天天伊人| 日韩av在线精品观看| 免费观看日本操逼视频| 成人av性爱电影在线观看| 欧美一区二区三区四区综合| 国产九九九九九九九九| 伊人91| 91在线|亚| 日少妇亚洲版| 色哟哟精品1精品2| 日本操逼无码| 国产美女mm131爽爽爽爽| 国产又粗又长又爽又色| 天天摸,夜夜摸| 91在线限制级| 偷拍片久久| 亚洲欧美97√| 中文人妻av高清一区| 嗯啊抽插大香蕉网页| 久久99午夜精品一区人妻| 国产亚洲色婷婷久久99精品91| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 色青青久久影视| 91欧美| 肥臀熟女福利视频一区二区| 亚洲少妇免费视频\| 国产成人五月天丁香花| 大屁股人妻女教师撅着屁股| 综合欧美日本三级| 黄色高清久久无码依人| 精品综合久久久久久97| 国产无码精品无码| 日本午夜久久电影| 1二区9| 大香蕉伊人75| 清纯唯美激情四射| 中文欧丝袜诱惑| 日韩欧无码一区二区三区免费不卡| 国产精品一区二区校花| 欧美日不卡| 国产婷婷综合在线观看| 国产精品不卡一区二区电影| 国产精品免费美女视频| 欧美另类自拍 | 97 国产精品| 日本国产亚洲一区在线观看| 夜夜嗨一区二区| 欧美玖玖爱免费玖玖| 可免费观看的av毛片中日美韩| 免费作爱一级视频| 中文字幕久久精品一区| 丰满人妻一区二区三区色-百度| 亚洲人妻中文高清| 日韩av色图综合| 老司机香蕉| 国产大学生口爆吞精合集| 天天综合日韩网| 中文字幕免费在线观看| 在线观看国产黄色| 亚洲日韩东京热一区| 久久精品国产Aⅴ| 人妻久久久| 伊人96在线| 欧美成人性爱视频免费观看| 97AV在线免费观看| 久久精品中文| 男人天堂2012| 国产精品乱码久久久| 人妻日日干| 国产视频大全| 在线观看成人性爱免费小视频| 97精品一二区| 久久少妇| 精品国产一区二区久久| 思思视频免费看网站| 亚洲人精| 精品久久久久久中文字幕视频免费| 狠狠色婷婷7777久| 欧美乱欲| 天天影视综合网欧美精品| 国产精品乱码久久| 九色 人妻 大香蕉| 高清在线不卡一区二区 视频| 狠狠躁AV| 搞中出久久| 亚州综合图片| 欧美性爱伊人| 亚洲Av诱惑| 日韩欧美女优电影| 最新亚洲黄色免费电影| 美女大乳久久久久久久女人18| 激情天天视频| 校园春色亚洲无码| 狠狠激情综合狠狠操中文字幕| 蜜臀久久99'精品久久久| 欧美性爱系列| 97操| 午夜综合在线| caorenqi shipin| 天天日天天干少妇日| a男人的天堂| 中文人妻av高清一区| 日本熟妇色熟妇在线视频播放| 国产69精品久久久久99尤物| 日韩97精| 亚洲古典另类欧美在线| 9色在线| 色欲久久久久综合网| 日本黄色裸日本黄色裸体| 九月丁香综合网| 97亚洲精品超碰| 欧美亚洲20p| 在线强奷到舒服的无码视频 | 久久精品日韩专区免费观看| www.97在线| αⅴ天堂| 欧美精品97| 日韩欧美中文字| 婷婷五月天av| 久久综合国产精品国产| 成人性交午夜免费片| 亚洲AV不卡在线观看尤物| 国产精品久久久鸭无码的功能| 亚洲av性爱电影| 区自美91| 老熟女熟妇| 97在线精品| 国产精品女生av| 欧美精品一二三| 九九九九精品一区| 夜夜操91744565| 九月婷婷综合| 在免费jIzzjIzz在线视频| 超碰成人人人爽人人爽| 久久久九九| 啊啊啊好湿国产一二| 亚洲成人免费在线| 欧美强奸乱| 久久草草亚洲蜜桃臀| 国产高清26uuu| 日日躁天天躁狠狠躁| 丁香五月天久久精品视频一区二区三区| 婷婷亚洲综合| 日韩黄色一区二区三区| 浪人综合网| 国产一区二区三区免费视频在性观看 | 亚洲人妻一区二区三区| 国产亚洲国产超碰| 一级A片女人高潮叫床| 日韩免费福利在线观看| 加勒比伊人| 欧美激情1区| 91天天爱| 97亚洲综合电影| 九九久久综合| 亚洲av无码成人精品国产| 极品尤物自安慰| 操日韩第| 久草免费福利在线播放| 91丨豆花丨熟女| 国产精品午夜AV完会免费| 97射欧美| 午夜九九| 日比av无码| 天天欧美| 亚州91| 亚洲综合91| 欧美夜夜草视频| 一级片视频啪啪| 色欲三区| 97人妻免费中文字幕| 把腿张开老子CAO烂你| 午夜欧美女人操逼| 亚洲操人| 久操B网| 秋霞男人网| 97色97好| 欧美色道啊| 中文字幕黄色一起草| 精品69网| 久久免费99精品久久久久久| 91深夜夜| 亚洲日韩精品在线播放| 久久大香蕉手机高清| 啊嗯好大视频在线观看| 日日黄色三级网站| 自拍啪啪视频| 日韩成人高清一区二区| 成人一级性爱| 丁香六月婷婷| 色诱avtt| 久草电影网| 欧美亚洲中文| 性色av蜜臀av色欲aV| 国产一区二区三区精品观看啪| 91 刺激在线| 亚洲AV乱码专区国产噜噜亚洲| 久9久9精品| 婷婷人妻激情| 成人小说另类在线| 人妻少妇av在线观看| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 亚洲激情视频| 国产精品国产自产高清AV| 久久久国产成人一区二区三区在线| 污啪啪啪视频| 蜜桃精品一区二区三区久在线| 人人澡人人干| 国产成年精品高清在线观看91| 黑人精品成人一区二区三区 | 中出欧美| 白嫩国模丰满一二三区| 久艹伊人精品综合在线| 欧美狠狠狠| 午夜超爽| 91精品国产综合久久久蜜臀| 中出20p| 午夜乱轮操逼视频免费看| 五月天综合| 亚洲资源网| 国产精品ww久久| 亚洲欧美日韩精品久| 无码人妻丰满熟妇奶水区毛片| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 无码精品久久久久久亚洲| 影音先锋中文字幕日本好一区二区| 后入 亚洲 美女 射| 性久久久| 青青草视频这里只有精品| 智利AV在线网| 国产一区在线观看无码AV| 天天操女人| 九九九九九精品视频| 国产日韩在线播放| 在线亚洲丝袜视频网站| 人人操,人人插| 一区二区三区 丝袜 高跟 美腿| 久啪视频| www网站黄| 久久夜精品一区二区三区| 大香蕉免费3| 97蜜桃综合| 91亚洲综合在线| 99视频内射三四| 欧美男人的天堂| 亚洲一区二区精品福利| 嗯~啊~快点 死我视频免费看网站| 日韩激情无码影院| 91最新综合| 囯产精品久久久久久久久久梁医生 | 992大香蕉| 涩五月婷婷| 午夜精品久久久久久久久久久久久 | 日韩三级久久久| 夜夜欢天天干| 天天影视网综合少妇| 99av| 蜜色网色哟哟| 2023天天操夜夜操| 熟女一区二区三区| 久操网视频| 日日干夜夜欢| 欧美特大黄一级片片免费| 超碰97资源网亚洲| 97五月天| 国产精品视频内谢女人| 国产农村妇女精品一| 亚洲色图尤物视频 | AV污污污污| 国产午夜福利合集| 人妻AV 中文字幕的| www国产无码| 91久久久视| 思思热er精品视频| 激情婷婷黑人91| 亚洲不卡AV在线| 91啦人妻| 久欲AV| 嗯嗯啊中文字幕| 亚洲无码超碰免费| 日日日色色色色色| 五月天激情婷婷| 国产呦精品系列在线观看| 亚洲色图a| 成人亚欧免费视频| 青青草大香蕉视频| 9热9热综合网| 亚洲无线码一区国产欧美国| 精品97久久| 夜夜高潮夜夜爽高清视频一 | 国产AV线| 91爱综合| 特级丰满少妇一级AAAA爱毛片| 另类小说欧美激情校园春色| 久久av色| 色色激情五月天| 天天懆天天日| 97av在线观看| 欧美亚洲激情一二三| 91狠狠综合久久久| 中文人妻av高清一区| 精品国产乱码久久久久久久久久毛片| 99啪啪视频| 天天搞在线综合网| 日韩不卡在线一区二区| 日日操夜夜操天天操免费观看麻豆| 人妻精品4K4K4K4K4| 欧美日韩中文亚洲v在线综合| 美女久久久| 曰韩少妇无码| 五月天伊人| 激情久久久| 中日亚韩免费视频| 男女一进一出视频久久| 后入综合久久| 亚av顶级裸体一区二区三区四区五区| 九九性视频| 中文字幕123| 秋霞一集毛片观看| 亚洲欧美不卡线| 丝袜视频网国产90| SUV一区二区在线看| 丰满少妇人妻久久久久久| 在线播放中文字幕| 青青草丝袜在线视频| av在线播放国产一区| 亚洲天天操| 91操熟女视频| 男人成人黄色视频在线观看免费下载| 青青草视频久久久久| 狠狠 91| 日日干日日| 99热99在线| 无码日韩网站| 欧美视频中文字幕区| 人人摸人人添人人操| 国产精品久久久久久无码红治院| 国产精品ⅴ无码大片在线看.| 97香蕉网| 日韩啊V| 亚洲欧美国产中文视频| 无码不卡亚洲成?人片| 大香蕉78| 97精品视频| 日韩欧美性爱电影在线观看| 色吧91| 青春草莓视频在线观看网址| 久久老女人| 男人天堂网址| 乱伦熟妇一区二区| 欧美精品23| 家庭乱伦国产| 成人八戒网站| 黄网色一区二区三区四区精品| AV免费在线播放一区| 亚洲精品中文字幕一区在线视频 | 国产精品蜜臀久久久久无码AV| 成人性爱免费播放| 国产亚洲精品A在线观看下载| 欧美日韩*字幕一区| 日本日皮视频逼| 激情接吻视频久久久久久| 另类一区| 日韩精品一二三四| 久久久久9久久久久| 久久久久9999妇女| 色偷综合| 啊啊啊好大好深| 中文字幕一区二区视频在线观看 | 久久精品国产免费观看99| 综合自拍| 精品久久在线区一区| 亚州乱码中文字幕综合久久久| 色欲人妻一区二区在线| 亚洲综合九| 色图四区| 亚洲日韩视频二区| 天天天天天天天天天天干美女| 国模精品一区二区三区苹果色戒| 2020视频1区2区3区| n1038 一二三区| 国产吹潮女在线观看| 欧洲综合色图| 欧美色视频在线| 色婷婷电影网| 久久爽爽精品| 欧美成人精品欧美一级乱黄一区二…| 亚洲影院成人| 日韩去日本高清在| 性色高清在线| 四季av一区二区凹凸精品小说| 超碰色老头| 极品尤物女神在线观看| 偷拍 亚洲| 超碰 国产熟女精品一区| 视频一区二区免费在线| 欧美日韩性爱操大逼| 天天日日舔舔| 天天干夜夜操一区二区| 91精品人妻偷情| 制服乱伦| 啊啊啊不要好爽日韩无码一区| 九九九九九九九九九国产精品| 区日韩亚洲乱码av电影| 91美乳| 欧美视频一区二区三区| 日本 欧美 国产一区| 亚洲无码一区成人免费午夜| 18禁在线视频| 91日韩在线| 97超碰超欧美。| 男人的天堂午夜av| 狠狠婷婷亚洲中文综合久久| 亚洲黄色a级片| 欧美中文字幕男人天堂久久精品 | 男人天堂毛片| 欧美午夜视频免费观看| 欧美黑人性猛交91| 国内一级精品| 国产九九九九九九九九| 天操老女人| 日韩av在线精品观看| 久久激情视频| 夜夜骑日日| 三级网色| 色网1| 久久精品日韩| 大香蕉十区| 亚洲 暴爽 AV人人爽日日碰| 99综合视频一体| 91超碰丝袜制服| 综合久久六月久久婷婷| 99国产精品久久久在线播放| 成 人 A V免费视频在线观看| 日韩AV一区二区三区四四| 淫穴高潮色图| 在线人人人人人人精品超| 青青三级视频| 亚洲中文国际强奸字幕| 精品人妻一区二区三区视频| 天天色天天干天天爱| 国产又大又粗又长视频在线| 中文字幕在线免费观看2| www.狠狠干.coom| 夜色91| 亚洲日韩肥臀视频在线观看| 天天92av| 狠狠躁AV| 五月天婷婷在线看| 欧美日韩婷婷中文| 日韩欧美tv一区二区在线观看| 免费看污网址| 中国女人内射6XXXXX| 天天热精品| 人人扣人人操| 97爱亚洲| 人妻出轨一区二区三区| 久久黄片国产一区二区| 福利天堂| 五月婷婷丁香| 亚洲天堂男人天堂网| 91人妻人人妻| 国产精品免费1区2区视频| 欧美中文狠| 操我无码| 欧美色图20p| 中文字幕久久精品一区| 亚洲最大无码中文字幕网站| a片在线播放| 色在线69堂| 亚洲五月丁香花狠狠干一区二区三区 | 99热国产| 风月影院十八禁| 国产久久久9999| 亚洲精品一二区| 一卡二卡在线播放| 青青草原人妻| 大黄片做爱的大的| 在线天堂资源亚洲| 91jk色拍| www…国产操逼| 国产品精品自在在线午夜免费| 91久久18禁| 中文字幕免费看大片| 综合网91| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 亚洲高清视频在线免费观看| 久久伦理视频久久大香蕉视频| 国产成人在线观看综合| 亚洲欧美综合| 中文熟女五十乱码在线| 天天看天天综合成人网| 国产亚州高清国产拍精| V A在线| 中文字幕熟女人妻丝袜丝| xxx亚洲午夜天堂| 3p国产色噜噜一区| 综合伊人网12色| 人妻激情视频| 女人的天堂大香蕉网| 天堂岛av| 九九久久首页| 国内毛片国产专区二| 国内毛片欧美香蕉精品| 国产丁香精品露脸视频| 97国产天堂岛| 久久免费中文字幕在线观看| 久久性爱大全| 国产日韩区| 精品无码久久久久久久久果冻糖心| 亚洲天堂电影网| 亚洲成人一二三区| 91无码中出人妻视频| 操逼视频亚洲| 欧美自拍偷拍综合图片| 国产精品96久久久久久| 妇女乱色二区| 狠操91,com| 撸撸成人在线视频| 国产suv精品一区二区四区999| 99ri精品| 色色色天美视频| 国产高清免费不卡av| 粉嫩av平台| 欧美日本成人一区二区| 91n处女在线观看| 欧美极品少妇| 国产精品亚洲美女久久久久| 丁香九月 婷婷| 91超碰在线| 极品肉射| 超碰99在线| 亚洲高潮影院| 欧美丝袜亚洲| 亚洲天堂一二| 91大香蕉伊人| 亚洲另类色综合网站| 久久视频,这里只有精品 | 熟女91网| 久久久成人免费av电影| 龙兴卡官方查询| 久久久久久久六六| 欧美 亚洲 综合 制服 另类| 婷婷五月天无码| 欧美一级专区免费大片 | 国产婷婷综合在线观看| 精品国产Av无码久久久伦古装| 嗯嗯啊好爽| 一区二区三区国产在线播放| 久久久新亚洲AV| 一级黄色性爱裸体视频| 久久精品国产精品一区| 国产福利一区二| 成 人片 黄色大片| 国产一级137片内射麻豆| 一级做a爰片久久毛片图片| 一级毛片久久久久久久女人18| 日本1区2区不卡视频| 中国国产精品一区视频| 日韩精品在线观看网站| 亚洲色啪| 久久一二区四| 综合视频91| 999久久久久久久久| 91人妻熟女| 无码高清少妇久久| 三级网色| 欧美色图天堂在线| 熟女天天干| 无码九九| 亚洲国产成人精品女人久久久| 国产精品久久aV| 亚洲精品啪视频| 五月花婷婷| 久久99手机免费视频| 在线小视频| 最近二区三区视频大全| 天天色天天干天天爱| 国产精品青草综合久久| 亚洲中文制服诱惑| 91女优在线观看| 91天天综合网| 成人性爱美曰韩| 女人的久久久| 国产99999久久精品| 精品天堂| 乱伦Av网| 国产成人资源| 欧美国产操逼| 国产精品美女视频诱惑| 国产女人操逼视频| 国产精品情侣啪啪| 人人操超碰在线| 日本性感人妻91| 啊视频在线| 亚洲吊色| 爱爱啊啊啊| 每日更新AV| 久久夜嗨| 色五月AV| 天天操女人| 自拍大香蕉乱插| 97二区四区| 人妻夜爽夜夜爽| 亚洲精品人妻在线| 久久免费老司机精品| 一二三卡欧美日韩人妻免费精品| 亚洲熟伦熟妇AV无码春色| 日本网色| 一级黄碟| 成人影院永久免费观看网址| 亚洲一区二区麻豆影院| 国产AB视频| 黄色在线网站| 午夜天堂网| 神马久久久久| 国产精品色色| 亚洲交换| 免费观看的黄色的网站| 91电影色诱| 男女一进一出视频久久| 色色五月天激情| 精品女同一区| 欧美日韩精品一区二区三区高清| 欧美色图私拍91| 亚州色图欧美| 一区二区三区看视频| 亚欧Av| 色偷综合| 国产一区二区a毛片| 男人久久精品| 国产女同视频在线播放| 91夜夜蜜桃臀1区2区3区| 天天上日日上日韩精品| 无码99| 亚洲国产综合图区中文字幕| 激情五月天色播| 九九九九精品精| 长长久久免费视频| 青青草好吊色| 2020中文字幕| 日日夜夜摸| 一区二区三区四区五区高清无码永久视频 | 国产无马av| 67914在线兔费成人视频| 久久久 国产精品| 亚洲成人在线乱码色午夜| 国产精品青草综合久久| 中文字幕人妻丝袜乱一区三区| 色99在线| 99re在线| 超碰 另类 欧美 | 欧美1区二区三区公司| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 久久婷婷精品| 后入福利| 九九成人视频| 日韩一级二级三级免费看完整版 | 白丝av| 久久久久密臀一区二区| 久久一二三四| 99精品伊人| A片三级无码| 亚州色综合| 操人妻丝袜高跟| 91深夜夜| 色偷偷综合91久久噜噜| 日韩性爱播放| 国产白丝精品在线观看| 亚洲影院小综合| 色色色天美视频| 1204人成网站色www| 粉嫩国产精品久久粉嫩| 色在线综合| 伊人久久蜜月| 欧洲色| 黄色片一区二区三区四区五区| 欧美九一精品久久久熟妇| 日本岛国黄色网址| 久久精品国产亚洲5555| 欧美人人天天网| av国产无码| A级国产欧美激情在线| 久久视频,这里只有精品| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 色综合 加勒比| 青青草日本无码| 操逼逼福利视频| 国产熟女精品一区二区| 伊人久久大香蕉线AV五月天| 日韩欧美经典在线观看| 久久双插| 国产农村妇女毛片精品久久| 夜夜操天| 岛园激情| 国产辣妈在线视频福利| 91男人天堂网| 91在线美女| 成人网址在线观看| 国产对白刺激视频| 精品无av| 欧美 日韩 婷婷 五月| 蜜臀久久99精品久久综合| 97人人操人人摸人人爱| 国产97亚洲| 欧美日韩97在线| 十八禁黄色成人网站观看| 日韩欧洲操屄视频| 在线欧美亚洲| 97在线亚洲| 蜜臀人妻少妇久久在线观看| 嫖老熟女A片一二三区| 三级日韩一区二区三区| 欧美色性情| 日韩人人精品| 一区二区三区四区姦女| 91人妻爽爽人人做人人澡| 把腿张开老子CAO烂你| 91成人高清在线观看| 亚州欧美在线| 久久华人网| 在线情色电影 91大| 色999亚洲人成色| 911粉嫩人妻| 国产精品干干干| 国产探花日韩援交| 久久超碰网| 色欧美综合| 日韩精品一区二区人人人| 亚州精品人妻一二三区| 亚州 综合 色图| 操操操操网黑人| 色天使大香蕉| 第45页一区二区| 亚洲欧美大香蕉| 综合色图亚洲欧美| 长长久久免费视频| 东京热免费视频| 亚洲午夜福利在线影院| www.大香| 久久久久亚洲Aⅴ无码| 国产精品久久久久久久黄无码| 9色国产精品一区粉嫩| 国产精品免费久久久久久久久久| 在线不欧美| 加勒比综合网| 色综合天天爱去电影网| 亚洲Av诱惑| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 久99热| 欧美性爱伊人| 日本九九九九| 操逼逼中文字幕| 熟女天天干| 丰满人妻av一区二区三区| 国产高清自拍| 亚洲美女精品九九视频| 中 文字幕一区二区三四 五 区日 日 骚| 国产美女mm131爽爽爽爽| 五十路六十路七十路熟婆| 操逼操逼操| 午夜精品久久久久久久久久久久久| 中文一区二区婷婷视频|