国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

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

微信隱藏代碼解析:Unicode碼位、SoftBank對照與表情組合實(shí)戰(zhàn)

微信隱藏代碼解析:Unicode碼位、SoftBank對照與表情組合實(shí)戰(zhàn) 1. 先把“隱藏代碼”這件事說透表情在聊天框里到底是什么微信聊天里那些“隱藏代碼”說白了就是一段段看不見或半可見的 Unicode 字符序列。你按下發(fā)送鍵的那一刻發(fā)出去的并不是一張圖片而是一串碼位Code Point對方手機(jī)收到這串?dāng)?shù)字后用自己系統(tǒng)里的字體把它“畫”成一個(gè)表情。所以同一個(gè)表情安卓和 iOS 畫出來胖瘦不一樣老設(shè)備干脆畫成一個(gè)方塊——這不是微信的鍋是字體渲染的差異。這篇東西想解決三個(gè)問題搞清楚這些碼位怎么讀、SoftBank 那套老編碼和現(xiàn)在的 Unified統(tǒng)一碼怎么對上、以及怎么在自己的輸入習(xí)慣里把它變成可以天天用的東西。SoftBank 對照表和Unified 碼位是全文的兩條主線前者解決“老資料看不懂”后者解決“新表情怎么自己造”。適合三類人看經(jīng)常在群里被問“這個(gè)表情你哪來的”的重度聊天用戶、需要做文案或社群運(yùn)營的內(nèi)容崗、以及想在自己程序里處理表情字符的開發(fā)者。前面的編碼原理部分稍硬但我會盡量用生活化的類比講后半部分的實(shí)操配置可以直接抄。我見過太多人把“隱藏代碼”理解成某種秘鑰以為輸入一串字符就能解鎖系統(tǒng)里藏著的表情包。實(shí)際情況要樸素得多所謂的“隱藏”指的是這些字符在鍵盤面板上找不到入口但在文本層面是合法存在的你可以復(fù)制、可以粘貼、可以存成快捷短語。一旦理解了這一點(diǎn)后面所有的玩法都是水到渠成的事。1.1 一條表情消息的“身份證”碼位、碼點(diǎn)與字節(jié)任何一個(gè)表情在 Unicode 標(biāo)準(zhǔn)里都有一個(gè)唯一的編號寫作 UXXXX。比如那個(gè)最常見的笑臉編號是 U1F600一個(gè)心形是 U2764。這個(gè)編號叫碼位它只是一個(gè)抽象的數(shù)字跟“長什么樣”沒有必然關(guān)系——具體畫成什么樣由字體文件決定。這就像身份證號和人臉的關(guān)系號碼唯一但同一個(gè)人在不同相機(jī)里拍出來氣質(zhì)可能完全不同。真正傳輸?shù)臅r(shí)候這個(gè)數(shù)字要變成字節(jié)。UTF-8 編碼下U1F600 會被編成 4 個(gè)字節(jié)F0 9F 98 80。UTF-16 下則是兩個(gè) 16 位單元也就是所謂的代理對Surrogate PairD83D DE00。這里就是第一個(gè)大坑——很多老的接口、老的數(shù)據(jù)庫字段、老的文本處理函數(shù)是按“一個(gè) 16 位單元等于一個(gè)字符”來設(shè)計(jì)的遇到代理對就會把一個(gè)表情切成兩半于是你看到的就是兩個(gè)問號或者一個(gè)亂碼方塊。我做社群文案的時(shí)候踩過一次把一段帶表情的文案粘進(jìn)某個(gè)統(tǒng)計(jì)表格導(dǎo)出的 CSV 里表情全變成了問號。排查了半天才發(fā)現(xiàn)那個(gè)工具按 UTF-16 單元截?cái)嘧址冒岩粋€(gè)代理對從中間劈開了。后來我的做法是凡是涉及表情的文本處理一律先確認(rèn)編碼是 UTF-8并且用能正確處理碼位而不是字節(jié)或 16 位單元的函數(shù)來切分。理解這一層之后你就明白為什么“復(fù)制粘貼”是表情傳播的主要方式復(fù)制的是碼位序列不是圖像。這也解釋了另一個(gè)現(xiàn)象——你把微信里的表情復(fù)制到記事本可能變成黑白或者方塊因?yàn)橛浭卤居玫淖煮w不一定覆蓋這個(gè)碼位。1.2 為什么同一個(gè)表情在不同手機(jī)上長得不一樣字體覆蓋率是第一層原因。系統(tǒng)字體比如各家的系統(tǒng) emoji 字體會定期更新新加入的表情在老系統(tǒng)上就沒有對應(yīng)字形只能退化顯示成空白方塊或者“豆腐塊”。這就是為什么你發(fā)一個(gè)剛出的新表情用舊手機(jī)的朋友會回你一句“你發(fā)的啥我這邊是空白”。第二層原因是呈現(xiàn)方式的選擇。Unicode 里有一批字符是“雙重身份”的它既可以當(dāng)普通的文本符號比如一個(gè)黑白的心形、一個(gè)普通的星號也可以當(dāng)彩色表情。到底畫成哪種取決于后面跟不跟一個(gè)叫變體選擇符的隱形字符。這個(gè)機(jī)制是后面第三章的重點(diǎn)也是很多“我明明復(fù)制對了怎么變黑白了”的根源。第三層原因是平臺對組合序列的支持程度。有些表情是由好幾個(gè)碼位拼起來的比如“一家人”“女醫(yī)生”“彩虹旗”。支持完整的系統(tǒng)能拼出正確圖形支持一半的系統(tǒng)可能只顯示第一個(gè)組成部分于是“一家三口”變成了“一個(gè)人”。這三層原因決定了后面所有排查工作的順序先看碼位對不對再看有沒有丟變體選擇符最后才懷疑字體版本。1.3 誰適合看這篇三類人的不同用法第一類是純聊天用戶。你不需要記任何碼位只需要跳到第四章把常用的組合存成輸入法的自定義短語兩三個(gè)字母就能打出一長串。第四章給了三套方案按你的動手意愿選一套就行。第二類是內(nèi)容運(yùn)營和文案崗。你需要的是“穩(wěn)定不翻車”也就是發(fā)出去之后在大面積設(shè)備上都能正常顯示。這類讀者重點(diǎn)看第五章那里有一張故障對照表覆蓋了顯示成方塊、被裁切、變成問號、字?jǐn)?shù)超限這幾種情況照著查就行。第三類是開發(fā)者。你需要的是可編程的處理方式包括怎么識別一段文本里的表情、怎么安全地截?cái)?、怎么?gòu)造組合序列。第四章第三節(jié)有一段可以直接跑的腳本覆蓋了拆分碼位、檢測組合序列、批量替換這幾個(gè)常用動作。順便說一句網(wǎng)上流傳的很多“表情代碼大全”其實(shí)是把碼位表直接貼出來不解釋結(jié)構(gòu)也不說明版本。這類資料的問題在于你照著抄了一旦顯示不對就無從下手。這篇的寫法是先講結(jié)構(gòu)再給表目的是讓你具備自己查、自己驗(yàn)的能力。2. SoftBank、Unified 與那套被收編的老編碼要講清楚對照表必須先講一段歷史。在 Unicode 正式收錄表情之前早期的移動端平臺各自在自己系統(tǒng)的私有區(qū)域里定義了一套圖形字符。私有使用區(qū)Private Use Area是 Unicode 里預(yù)留的一段范圍大致在 UE000 到 UF8FF 之間標(biāo)準(zhǔn)不規(guī)定這些碼位代表什么留給各家自己用。SoftBank 當(dāng)年的表情就放在這個(gè)區(qū)域里所以你在老資料里看到的 E04A、E04B 這類四位編號本質(zhì)上就是“私有約定”不是標(biāo)準(zhǔn)字符。2.1 私有使用區(qū)的歷史位置與它帶來的麻煩私有使用區(qū)的好處是自由壞處是不可移植。同一段字節(jié)在 A 家的設(shè)備上是太陽在 B 家的設(shè)備上可能是別的圖形甚至什么都不顯示。當(dāng)年的跨平臺聊天經(jīng)常出現(xiàn)“我發(fā)的是笑臉你收到的是問號”根子就在這兒。后來統(tǒng)一碼聯(lián)盟做了一件很重要的事把這些民間表情逐一收編進(jìn)標(biāo)準(zhǔn)碼位。收編的過程中產(chǎn)生了一張映射表也就是常說的 emoji 對照表把各家私有碼位對應(yīng)到統(tǒng)一的碼位。SoftBank 那一列就是從這張表里來的。這里有個(gè)細(xì)節(jié)值得注意映射不是一對一的完美替換。有些私有碼位在標(biāo)準(zhǔn)里有多個(gè)候選有些標(biāo)準(zhǔn)表情在私有區(qū)里壓根沒有對應(yīng)物還有些映射在不同版本的映射文件里注釋不一致。所以你手里的對照表如果和別人的對不上先別懷疑自己抄錯(cuò)了很可能是版本差異。判斷依據(jù)應(yīng)該是碼位本身加上名稱而不是憑圖形去猜。2.2 Unified 是怎么把這些表情收編的統(tǒng)一碼的做法是分塊收錄。表情主要集中在幾個(gè)區(qū)塊里U1F300 到 U1F5FF 是雜項(xiàng)符號和象形文字U1F600 到 U1F64F 是表情臉U1F680 到 U1F6FF 是交通和地圖符號U2600 到 U27BF 里則散落著一批從傳統(tǒng)符號“升級”成表情的字符比如太陽、云、雨傘、心形、星號。所謂“升級”就是我前面說的雙重身份。U2600 這個(gè)碼位在標(biāo)準(zhǔn)里的正式名稱是“帶射線的黑色太陽”它本來就是個(gè)文本符號后來為了兼容表情需求標(biāo)準(zhǔn)規(guī)定如果它后面跟著變體選擇符 UFE0F就應(yīng)當(dāng)以彩色表情形式呈現(xiàn)如果跟著 UFE0E或者什么都不跟就以文本形式呈現(xiàn)。這一條是理解“隱藏代碼”的關(guān)鍵。SoftBank 那批老碼位絕大多數(shù)被映射到了這些標(biāo)準(zhǔn)碼位上。所以你手上如果有一份 SoftBank 編號想在新設(shè)備上用正確做法是查表換成 Unified 碼位而不是原樣粘貼。原樣粘貼的私有區(qū)字符新設(shè)備上大概率什么都顯示不出來——因?yàn)槟嵌畏秶F(xiàn)在基本是空的。2.3 對照表怎么讀三列結(jié)構(gòu)最實(shí)用我建議你自己維護(hù)的對照表至少包含三列SoftBank 碼位、Unified 碼位、名稱。名稱這一列別省它是你排查時(shí)的錨點(diǎn)。圖形列可以加但優(yōu)先級最低因?yàn)閳D形會隨字體版本變化。下面這張表給的是結(jié)構(gòu)演示列了幾個(gè)高頻的天氣類示例。注意不同版本的映射文件對同一碼位的注釋可能存在出入實(shí)際使用時(shí)請以你的字庫和映射文件為準(zhǔn)并用實(shí)測顯示來驗(yàn)證。SoftBank 碼位Unified 碼位名稱備注E04AU2600 UFE0F太陽需跟變體選擇符才顯示彩色E04BU2601 UFE0F云同上E04CU2614帶雨的傘標(biāo)準(zhǔn)碼位本身即表情E000 段分散映射大量圖形需逐條查表不可批量假設(shè)無對應(yīng)U1F600 起新表情臉?biāo)接袇^(qū)時(shí)代不存在讀這張表的時(shí)候要抓住一個(gè)邏輯左邊是歷史右邊是現(xiàn)在。你在網(wǎng)上看到一段“表情代碼”先判斷它是哪一列的東西。如果是 E 開頭的四位十六進(jìn)制那基本是私有區(qū)老碼位需要轉(zhuǎn)換如果是 U1F 開頭那已經(jīng)是標(biāo)準(zhǔn)碼位直接用就行但要留意變體選擇符和組合序列。另外提醒一個(gè)實(shí)操經(jīng)驗(yàn)不要試圖把整張對照表背下來。真正有用的是記住幾個(gè)高頻的剩下的靠查。我自己的做法是維護(hù)一個(gè)純文本文件左邊寫“關(guān)鍵詞”右邊寫“可以直接粘貼的字符”需要的時(shí)候搜關(guān)鍵詞。這比記碼位高效得多也更不容易出錯(cuò)。3. 五類高頻“隱藏代碼”逐個(gè)拆解這一章是全文最硬的部分但也是最值錢的。把這五類搞清楚你看到任何一串“神秘代碼”都能自己判斷它是什么、為什么這么寫、會不會翻車。3.1 變體選擇符一個(gè)看不見的字符決定彩色還是黑白變體選擇符有兩個(gè)常用的UFE0F 表示“請用表情形式呈現(xiàn)”UFE0E 表示“請用文本形式呈現(xiàn)”。它們本身不占顯示寬度也不產(chǎn)生任何圖形純粹是給渲染器的指令。這就是最典型的“隱藏代碼”——你眼睛看不見它但它決定了你看到的是彩色小人還是黑白符號。舉幾個(gè)常見的例子。心形 U2764不帶變體選擇符時(shí)很多系統(tǒng)畫成細(xì)黑線的心加上 UFE0F 之后變成飽滿的紅色愛心。太陽 U2600、云 U2601、雨傘 U2614 都是同一套邏輯。還有那個(gè)非常常用的對勾 U2714、叉號 U274C也都是靠這個(gè)開關(guān)切換形態(tài)。這里的坑在于復(fù)制粘貼的過程中變體選擇符極易丟失。因?yàn)樗豢梢姾芏嗑庉嬈?、很多輸入框在粘貼時(shí)會做“清理不可見字符”的處理順手就把它刪了。你會發(fā)現(xiàn)自己復(fù)制的時(shí)候明明是彩色的粘到別處就變成黑白線條了。這不是錯(cuò)覺。排查方法很簡單把那段文本粘到一個(gè)能看到碼位的工具里很多編輯器有“顯示不可見字符”的選項(xiàng)數(shù)一下心形后面有沒有 FE0F。如果沒有手動補(bǔ)一個(gè)或者換一個(gè)不會被清理的路徑。再講一個(gè)更隱蔽的情況有些平臺會在存儲時(shí)把變體選擇符規(guī)范化掉。比如某次我做一批文案在本地編輯器里全部正常導(dǎo)進(jìn)某個(gè)后臺之后全部變黑白。后來發(fā)現(xiàn)是那個(gè)后臺的輸入框?qū)ξ谋咀隽?NFC 規(guī)范化之外的額外處理。解決辦法是改用圖片或者干脆選一個(gè)本身就是表情碼位的字符比如 U1F49B 黃色心形繞開這個(gè)開關(guān)。3.2 零寬連接符家庭、職業(yè)、情侶表情的拼裝邏輯零寬連接符ZWJ的碼位是 U200D。它的作用是把前后兩個(gè)表情“焊”在一起告訴渲染器這兩個(gè)別分開畫請合成一個(gè)新圖形。最典型的應(yīng)用是家庭組合。一個(gè)人 ZWJ 另一個(gè)人渲染器一看這個(gè)結(jié)構(gòu)就畫成“兩個(gè)人手拉手”。再加一個(gè) ZWJ 和一個(gè)小孩就變成“一家三口”。同樣的邏輯用在職業(yè)上一個(gè)人 ZWJ 一個(gè)工具符號就變成“某個(gè)職業(yè)的人”。用在情侶上兩個(gè)人 ZWJ 心形就變成“帶心的情侶”。這個(gè)機(jī)制的妙處在于組合爆炸基礎(chǔ)元素就那么幾十個(gè)通過 ZWJ 拼接能造出成千上萬種組合。這也是為什么每年新增的表情看起來很多實(shí)際上很多是新組合而不是新圖形。但它也是兼容性最差的一類。老系統(tǒng)不認(rèn)識這個(gè)序列就會退化成“把每個(gè)組成部分單獨(dú)畫出來”于是“一家三口”變成“三個(gè)人并排”中間還多出一個(gè)空白ZWJ 本身不顯示但可能占位。所以在正式場合發(fā)這類組合表情一定要先在目標(biāo)設(shè)備上預(yù)覽。我自己的經(jīng)驗(yàn)是群里發(fā)著玩隨便用正式文案一律不用 ZWJ 組合。因?yàn)槭鼙娫O(shè)備太雜你沒法保證每個(gè)人都看到你想要的效果。順帶提一個(gè)常見的誤解。有人以為 ZWJ 是“刪除”或者“連接兩個(gè)詞”的其實(shí)它在排版里確實(shí)有“不斷行”的語義在表情里則是“合成”的語義。同一個(gè)字符在不同上下文里承擔(dān)不同職責(zé)這在 Unicode 里很常見不用糾結(jié)看上下文就行。3.3 膚色修飾符五個(gè)檔位的疊加順序有講究膚色修飾符一共五個(gè)碼位從 U1F3FB 到 U1F3FF分別對應(yīng)從淺到深的五個(gè)檔位。用法是緊跟在具備膚色屬性的人體表情之后。關(guān)鍵的規(guī)則是順序。修飾符必須跟在基礎(chǔ)表情之后不能放前面。比如“豎起大拇指”加“中等膚色”正確的寫法是大拇指在前、修飾符在后。放反了渲染器就認(rèn)不出來會顯示成兩個(gè)獨(dú)立的東西一個(gè)大拇指加一個(gè)色塊。第二個(gè)規(guī)則是只能跟一個(gè)。跟兩個(gè)修飾符是非法的渲染器的行為不確定有的取第一個(gè)有的直接忽略全部。第三個(gè)規(guī)則是不是所有表情都支持。只有標(biāo)準(zhǔn)里標(biāo)注了“emoji modifier base”的那批人體部位或人物表情才支持比如手勢、人物、部分職業(yè)。如果你給一個(gè)蘋果加膚色修飾符它是不會變色的。這條規(guī)則在實(shí)際使用中的價(jià)值在于它解釋了為什么“同一個(gè)手勢別人發(fā)的深色我發(fā)的淺色”。不是版本問題是修飾符不同。還有個(gè)小細(xì)節(jié)值得留意膚色修飾符在組合序列里的位置。比如“女醫(yī)生”加膚色標(biāo)準(zhǔn)寫法是“人物 ZWJ 職業(yè)符號 膚色修飾符”修飾符放在整個(gè)序列的最后。放在中間某些位置部分渲染器會認(rèn)部分不會屬于“能跑但不穩(wěn)”的寫法不建議用。3.4 國旗與鍵帽區(qū)域指示符與合成序列國旗的實(shí)現(xiàn)方式很有意思。它沒有為每個(gè)國家單獨(dú)分配一個(gè)碼位那樣太浪費(fèi)而是用了區(qū)域指示符號U1F1E6 到 U1F1FF 這 26 個(gè)碼位對應(yīng)字母 A 到 Z。兩個(gè)區(qū)域指示符連在一起就代表一個(gè)兩位的國家或地區(qū)代碼渲染器查表把它畫成對應(yīng)的旗幟。比如某個(gè)兩字母代碼寫成兩個(gè)對應(yīng)的區(qū)域指示符就出旗子。這個(gè)設(shè)計(jì)很優(yōu)雅但也有個(gè)副作用在不支持的國家或地區(qū)它會退化成兩個(gè)方框字母。你會看到兩個(gè)帶字母的方塊并排看起來像亂碼。這不是錯(cuò)誤是降級顯示。鍵帽序列是另一類合成。它的結(jié)構(gòu)是一個(gè)基礎(chǔ)字符數(shù)字 0-9、井號、星號 變體選擇符 UFE0F 組合用鍵帽 U20E3。三個(gè)部分缺一不可。少了 U20E3就只是一個(gè)數(shù)字少了 FE0F某些系統(tǒng)上會顯示成文本樣式順序錯(cuò)了整個(gè)序列就散了。這一類在聊天里的用途是編號。比如做群公告的步驟列表用鍵帽數(shù)字比用普通數(shù)字更醒目。但要注意鍵帽序列在某些輸入法里會被當(dāng)成普通字符處理粘貼后可能被拆開用之前先預(yù)覽一下。3.5 標(biāo)簽序列那類幾乎沒人提的隱形標(biāo)簽還有一類更冷門的東西標(biāo)簽字符。碼位范圍大致在 UE0020 到 UE007F配合 U1F3F4黑旗使用可以拼出一些特殊的旗幟比如某些地區(qū)的旗幟就是“黑旗 一串標(biāo)簽字符 終止符”組成的。這類序列的特點(diǎn)是支持度極低。很多系統(tǒng)壓根不認(rèn)直接把整串顯示成黑旗加一串空白或亂碼。所以網(wǎng)上流傳的一些“隱藏旗幟代碼”你在自己手機(jī)上可能是正常的發(fā)給別人就變成一坨。我的建議很直接除非你有明確的驗(yàn)證手段否則不要用標(biāo)簽序列。它屬于“技術(shù)上存在實(shí)用價(jià)值有限”的那一類。真要表達(dá)用文字說清楚更穩(wěn)妥。4. 在聊天框里真正用起來三套可復(fù)制的實(shí)操方案原理講完了接下來是能直接抄的部分。我給三套方案按動手成本從低到高排你按自己的情況選。4.1 方案一自定義短語兩三個(gè)字母打出一長串這是性價(jià)比最高的一套。絕大多數(shù)輸入法都支持“自定義短語”或“文本替換”功能你可以設(shè)一條規(guī)則輸入某個(gè)短碼自動展開成一長串內(nèi)容。具體操作路徑各家輸入法略有不同但邏輯一致進(jìn)設(shè)置找“詞庫”或“快捷輸入”或“自定義短語”新建一條左邊填觸發(fā)碼右邊填展開內(nèi)容。觸發(fā)碼建議用不會和正常輸入沖突的組合比如兩個(gè)不常用字母加一個(gè)數(shù)字。這里的關(guān)鍵技巧是觸發(fā)碼要有語義。比如你想存一個(gè)“點(diǎn)贊三連”的組合觸發(fā)碼可以用“dz3”存一個(gè)“分隔線”用“fgx”。有語義的短碼記起來毫不費(fèi)力純隨機(jī)碼過兩周就忘了。第二個(gè)技巧是分組管理。我自己的短語庫分了四組常用表情組合、分隔線與邊框、常用文案模板、特殊符號。每組用不同的前綴比如表情組統(tǒng)一用“e”開頭符號組統(tǒng)一用“s”開頭。這樣即使短語條數(shù)上百也不會互相干擾。第三個(gè)技巧是存“結(jié)構(gòu)”而不是“成品”。什么意思如果你存了一整句話帶表情用的時(shí)候只能整句用如果你存的是“表情 空格 占位”用的時(shí)候還能改。我更傾向于存短小的片段讓組合在輸入時(shí)完成靈活度高得多。這套方案唯一的缺點(diǎn)是換設(shè)備要重新配。有些輸入法支持賬號同步能省點(diǎn)事不支持的話建議把你的短語庫導(dǎo)出成一個(gè)純文本文件存著換機(jī)時(shí)批量導(dǎo)回去。4.2 方案二建一個(gè)“速查表”收藏夾隨用隨取如果你不想配輸入法或者用的設(shè)備經(jīng)常換那就用最原始也最可靠的辦法建一個(gè)純文本速查表。具體做法在任意筆記工具里新建一條按用途分區(qū)每區(qū)下面一行一個(gè)條目左邊寫關(guān)鍵詞右邊寫可以直接復(fù)制的內(nèi)容。用的時(shí)候搜索關(guān)鍵詞復(fù)制粘貼。這個(gè)方案看起來笨但有兩個(gè)無可替代的優(yōu)勢。第一是跨設(shè)備零成本只要筆記能同步哪臺設(shè)備都能用。第二是可驗(yàn)證你可以在同一條筆記里同時(shí)存“預(yù)期效果”的說明時(shí)間久了自己也不會忘。我的速查表里有一欄是專門記“坑”的。比如某條組合在某個(gè)平臺上會顯示成方塊我就在旁邊標(biāo)注一下。這個(gè)習(xí)慣幫我省了很多重復(fù)排查的時(shí)間。4.3 方案三用腳本批量生成與清洗如果你要處理成百上千條或者需要把一批文案里的老碼位統(tǒng)一換成新碼位那就得上腳本了。下面這段 Python 覆蓋了三個(gè)最常用的動作拆分碼位、檢測組合序列、批量替換。import re import unicodedata # 1. 把一段文本拆成碼位方便肉眼檢查有沒有丟變體選擇符 def dump_codepoints(text): for ch in text: cp ord(ch) try: name unicodedata.name(ch) except ValueError: name 未命名 print(fU{cp:04X}\t{name}) # 2. 檢測是否包含組合序列ZWJ 或變體選擇符或膚色修飾符 def has_sequence(text): patterns { ZWJ: \u200d, VS16: \ufe0f, 膚色修飾符: [\U0001F3FB-\U0001F3FF], 鍵帽: \u20e3, 標(biāo)簽字符: [\U000E0020-\U000E007F], } return {k: bool(re.search(v, text)) for k, v in patterns.items()} # 3. 把私有使用區(qū)的老碼位替換成標(biāo)準(zhǔn)碼位 # 映射關(guān)系請以你自己的映射文件為準(zhǔn)這里只放兩條演示 SB_TO_UNIFIED { \ue04a: \u2600\ufe0f, # 太陽 \ue04b: \u2601\ufe0f, # 云 } def convert_softbank(text): for old, new in SB_TO_UNIFIED.items(): text text.replace(old, new) return text if __name__ __main__: sample 測試\ue04a文本\u2764\ufe0f組合 print(--- 碼位拆解 ---) dump_codepoints(sample) print(--- 序列檢測 ---) print(has_sequence(sample)) print(--- 替換后 ---) print(convert_softbank(sample))這段腳本的價(jià)值不在于它本身多復(fù)雜而在于它把“看不見的東西”變成了“看得見的東西”。你只要跑一次 dump_codepoints就能立刻知道一段文本里到底藏了什么、有沒有缺東西。這個(gè)動作我在排查顯示問題時(shí)做了不下幾十次。補(bǔ)充一句實(shí)操提醒處理文本時(shí)不要用按字節(jié)切片的函數(shù)。要按碼位或者按字形簇grapheme cluster切。Python 里按碼位遍歷是安全的但如果要按“用戶感知的一個(gè)字符”切就得用專門的庫因?yàn)橐粋€(gè)表情可能由好幾個(gè)碼位組成直接從中間切開就廢了。5. 踩坑記錄顯示異常、被裁切、變成問號的排查順序這一章是我這些年攢下來的故障清單按發(fā)生頻率排序。遇到問題從上往下查基本能覆蓋九成情況。5.1 常見故障對照表現(xiàn)象最可能的原因排查動作解決方式顯示成空白方塊字體不覆蓋該碼位查碼位是否屬于較新版本換舊表情或改用文字變成黑白線條丟了變體選擇符 FE0F用腳本 dump 碼位手動補(bǔ) FE0F變成兩個(gè)問號按 16 位單元截?cái)啻韺Ρ慌_檢查處理鏈路的編碼全程用 UTF-8按碼位切組合表情散開系統(tǒng)不支持 ZWJ 序列換一臺設(shè)備預(yù)覽改用單個(gè)表情粘貼后內(nèi)容變少編輯器清理了不可見字符換粘貼路徑用純文本編輯器中轉(zhuǎn)發(fā)送后超出字?jǐn)?shù)限制組合序列占多個(gè)碼位數(shù)一下實(shí)際碼位數(shù)精簡或拆成兩條旗幟變成兩個(gè)字母塊區(qū)域指示符降級顯示確認(rèn)目標(biāo)平臺是否支持改用文字表述這張表最有用的是第三行。很多人以為“問號”是表情不存在其實(shí)往往是編碼被截?cái)嗔?。區(qū)分方法很簡單如果是一個(gè)方塊多半是字體沒有如果是兩個(gè)問號或者一個(gè)問號加半個(gè)亂碼多半是字節(jié)層面被切了。5.2 排查順序從碼位到字體再到平臺我習(xí)慣按這個(gè)順序走能少走很多彎路。第一步確認(rèn)碼位本身是對的。用前面那段腳本 dump 一下看看是不是你想要的碼位有沒有多出或少掉不可見字符。這一步能解決大部分問題因?yàn)楹芏喙收显从趶?fù)制過程中丟了東西。第二步確認(rèn)呈現(xiàn)方式。如果是那種“雙重身份”的字符檢查變體選擇符在不在。這一步專門解決“為什么是黑白的”。第三步確認(rèn)組合結(jié)構(gòu)。如果是多碼位組合檢查順序?qū)Σ粚?、有沒有非法疊加。這一步解決“為什么散開了”。第四步確認(rèn)字體版本。把同一段文本發(fā)到另一臺設(shè)備上看如果那邊正常說明是當(dāng)前設(shè)備的字體問題不是內(nèi)容問題。第五步確認(rèn)平臺處理。如果所有設(shè)備都不對那就得懷疑中間經(jīng)過了某個(gè)會改文本的環(huán)節(jié)比如輸入框、后臺、導(dǎo)出工具。這時(shí)候換一條路徑比如先存成文件再發(fā)能快速定位。這個(gè)順序的邏輯是從內(nèi)容到環(huán)境因?yàn)閮?nèi)容問題占的比例最大而且改起來最便宜。5.3 幾個(gè)容易被忽略的細(xì)節(jié)第一個(gè)細(xì)節(jié)是字?jǐn)?shù)統(tǒng)計(jì)。很多平臺按碼位計(jì)數(shù)一個(gè)組合表情可能占五六個(gè)碼位。你以為發(fā)了一個(gè)表情實(shí)際上占了六個(gè)字的位置。做長文案的時(shí)候要留余量不然會被截?cái)?。我遇到過一條文案被硬生生截掉半個(gè)組合表情最后顯示成一堆碎片非常難看。第二個(gè)細(xì)節(jié)是昵稱和簽名的限制。有些位置對字符類型有限制某些組合序列會被過濾掉或者被規(guī)范化成別的形式。設(shè)置完之后一定要退出來看一眼實(shí)際效果別只信編輯框里的預(yù)覽。第三個(gè)細(xì)節(jié)是復(fù)制到不同應(yīng)用時(shí)的差異。同一段文本從聊天框復(fù)制到備忘錄、從備忘錄復(fù)制到表格每經(jīng)過一個(gè)環(huán)節(jié)都可能被處理一次。我的經(jīng)驗(yàn)是要跨應(yīng)用搬運(yùn)帶表情的內(nèi)容先用純文本編輯器做中轉(zhuǎn)。純文本編輯器最“老實(shí)”不會自作主張改你的字符。第四個(gè)細(xì)節(jié)是輸入法的聯(lián)想干擾。你打某個(gè)短碼輸入法可能彈出聯(lián)想的候選詞把你要的短語頂?shù)?。解決方法是把觸發(fā)碼設(shè)得更“不像詞”比如加個(gè)數(shù)字或者用雙寫字母。6. 組合玩法與邊界能做的不等于該做的講完原理和排查最后聊聊怎么用得好看、以及什么場合該收手。6.1 分隔線與邊框的構(gòu)造分隔線是最實(shí)用的組合玩法。做法很簡單選一個(gè)重復(fù)起來好看的符號復(fù)制十到二十個(gè)中間不加空格。常用的有橫線類、波浪類、方塊類。要點(diǎn)是選等寬或接近等寬的符號不然排出來會歪。邊框稍微麻煩一點(diǎn)因?yàn)橐紤]對齊。我的做法是用三行第一行是左上角、若干橫線、右上角第二行是豎線、空格、豎線第三行是左下角、橫線、右下角。但不同設(shè)備上字符寬度不一致很容易歪所以要留出調(diào)整余地寧可少用幾個(gè)字符。這里有個(gè)反直覺的經(jīng)驗(yàn)不要追求絕對對齊。在聊天場景里稍微不齊沒人會在意但如果你為了對齊用了大量全角半角混排在某些設(shè)備上會崩得很慘。我的原則是“看起來大致整齊就行”把精力放在內(nèi)容上。6.2 組合表情的“語法”順序、數(shù)量與嵌套組合表情不是隨便拼的。有三條經(jīng)驗(yàn)規(guī)則。第一順序有意義。ZWJ 連接的前后是有方向的某些組合反過來就是不成立的。膚色修飾符必須在最后。變體選擇符必須緊跟基礎(chǔ)字符。第二數(shù)量有上限。一個(gè)組合序列里塞太多 ZWJ渲染器可能放棄合成直接攤開顯示。我試過把四個(gè)元素連在一起在部分設(shè)備上就散架了。一般兩到三個(gè)元素是安全區(qū)。第三不要嵌套。把兩個(gè)已經(jīng)合成好的組合再用 ZWJ 連起來屬于未定義行為各家表現(xiàn)不一致。這種寫法看著聰明實(shí)際不可靠。6.3 什么場合該收手最后說點(diǎn)“不技術(shù)”但更重要的事。第一正式溝通少用組合表情。給客戶、給上級、給不熟的人發(fā)消息組合表情的兼容風(fēng)險(xiǎn)不值當(dāng)。一個(gè)簡單的表情足夠表達(dá)語氣復(fù)雜組合留給熟人場景。第二不要用表情替代標(biāo)點(diǎn)。有些人喜歡用表情當(dāng)逗號句號一句話里塞十幾個(gè)。在群聊里沒問題但在需要存檔、檢索、轉(zhuǎn)發(fā)的場合會大大降低可讀性。第三注意場合的文化差異。同一類圖形在不同語境里的含義可能完全不同跨群、跨年齡層發(fā)送之前想一想別把調(diào)侃發(fā)給不該調(diào)侃的人。我自己在實(shí)際操作中的體會是表情的價(jià)值在于“降低表達(dá)成本”而不是“炫技”。真正好用的不是那些復(fù)雜到?jīng)]人見過的組合而是那幾個(gè)你隨手就能打出來、對方一眼就能看懂的東西。把常用的二十個(gè)存成短語比背下來兩百個(gè)碼位有用得多。這套東西學(xué)到這里就夠了剩下的靠日常用。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
伊人在线大香蕉二。| 五十路三级片| 中文字幕日韩人妻视频一区二区三区 | 囯产操逼片| 情色av电影| 女人天堂网| 国产一区二区三区免费视频在性观看| 天综合中文| 午夜视频久久久| 日韩成人性爱AV| 国产青视频| 欧美亚洲| 97久久资源| 久久伊人影院| 久久久无码国精品无码三区三区| 97中文综合| 国产精品久久久久久 百度| 69人妻精品丰满熟女区| 操逼逼一区视频| 日韩BBN| 高清无码在线播放网站| 99在线观看无大码| 日韩欧美综合激情| 美女黄色91| 深夜激情无码| 欧美色图亚洲色,麻豆| 免费簧片在线观看| 国模久久在线| 欧美精品另类人妖xxxx| 97欧美视频| 婷婷三区| 澳门黄片一香蕉视频| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 18禁止看精品中文字幕| 116美女午夜| 久久亚洲中文字幕视频| 久久精品国产亚洲av水密被窝| 无码自拍SM| 超碰美国| 99热免费精品| 69精品久久久久中文字幕| 4虎在线观看| 人妻天堂综合网| 综合久久2017| 久久久久9999精品九九九| 国产av强奸美女| 欧美久久久| 日韩不卡毛片Av免费高清| 操老熟女AV| 韩国一级婬片A片AAAAA| 日本东京热久久久电影| 欧美大片一区二区三区| 激情综合五月天| WWW.操逼.COM| 激情文学小说一区二区| 九九99久久| 国产综合色精品在线观看| 久久人妻视频网| 婷婷色综合欧美日韩| 淫色网综合| 色噜噜精品一区二区三| 中国少妇啪啪视频| 日韩91网| 天天综合站| 狠狠综合网| 日韩免费簧片| 欧美成人国产精品| 99久久久无码| 日本三级中国三级99人妇网站| 亚洲精品一区二区日本| 后入福利视频| 丝袜狠狠草尤物人妻av91| 在线国产福利网址导航| 人人澡人人干| 欧美日韩电影一区二区| 久久久五月天| 男女激情黄色网址| 成 人 影视 一区 二区 三区 四区 | 2019天天操天天爽天天拍| 久干9操| 91麻豆天美传媒在线| 亚射在线| 91白虎| xxx亚洲午夜天堂| 日本αv| 日本一区99| 国产在线视视频有精品| 东北丰满熟女国产一区| 国产女大学生AV| 精品国产乱码久久久久久久| 国产精品高潮久久AV| 五月天成人综合| 精品国产91av一区二区三区| 啊啊啊在线观看| 一本久久久精品| 91九九九小逼| 色爱欲亚洲| 艹我哪美一区无码| 中文字幕在线24| 欧美日韩一区二区三区四区蜜桃| 亚洲人成网站7777| 久久久久久久久久久久色网| 后入式福利| 九九九九九九九九九九精品视频| 色九九九九| 四月丁香婷婷| 国产高清1234区| 午夜免费视频1000| 亚洲美乱| 国产精品 午夜福利| www老逼91| 人妻久热在线| 内射中出日韩在线观看视频| 国产乱婷婷精品二区三区| 蜜臀av一区二区三区免费观看| 亚洲AV无码国产成人| 乱伦av国产| 天天干干天天干干| 亚洲 国产 精品一区| 性爱视频无打码在线观看| 99久久亚洲精品无码毛片潘甜甜| 少妇淫妇久久久久久久| 亚洲丝袜诱惑| 天天综合网在线91| a级免费在线观看| 欧美97爱| 中国AV美女| 一级岛国大片| 激情久久久| 亚洲男人天堂2019| 久久久久久夜夜夜夜夜| 九一综合精品视品av| 日韩少妇丰满亚洲| 五月天九九日国产精品一区二区三区| 精品无码少妇| 久久伊人最新网址视频| av在线播放国产一区| 高潮毛片无遮挡高清免费| a片在线播放| 色色色欧美| 91干熟女| 久久综合18p| 青青草吊丝| 最新精品久久蜜桃 | 国产福利av精彩对白| 国产 日韩 另类 视频一区爱| 不卡免费av在线播放| 亚洲啪啪性视频| 超碰1024久久| 2020中文字幕在线| 97超碰超碰| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 国产亚洲日本精品在线| a网站免费观看| 蜜臀久久99精品久久久久免费观| 啊啊啊水好多| 99久国产精品午夜性色福利| 插入逼91| 亚洲中文字幕av| 国产剧情一区在线观看| 亚洲自拍一区夜夜操| 后入式999| 91丝袜视频在线观看| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 亚洲综合婷婷| 久艹伊人精品综合在线| 水滴偷拍| 国产综合网站在线播放| 美女的肌被草喷水视频| 国产人妻久久精品一区二区三区| 亚欧成人综合影院| 欧美 亚洲 大香| 欧美性色欧美| 欧美亚洲另类在线蜜桃| 欧美色图亚洲色图成人在在线| 欧美A√综合网 | 亚洲精品影视老司机| 夜夜爽爽爽| 欧美亚州综合图片| 一区二区三区国产在线播放 | 亚洲区 欧美区| 欧美性爱综合,免费| 国产偷拍自拍在线视频| 97色97好| 国产午夜福利电影免费在线观看| 99操| 90后后入| 久草视频在线视频在线视频在线观看| 亚州操操穴网| 加勒比aⅴ| 亚洲无吗在线视频| 韩国三级三级BD在线| 18精品一二区| 色色五月丁香| 大色综合| 色噜噜综合在线| 丁香7月婷婷| 日韩中文字幕视频| 亚洲网自拍| 久久啊啊啊| 国产精品久久久久久久久AV大片| 大香交| 五月天丁香婷婷综合网站| 少妇三P| 国产精品成久久久久午夜午夜| 又大又白奶子| 天堂男人网| 国产精品熟女丝袜一区二区| 中文乱码字字幕在线第5页| 九九英色视频| 久插综合| 97久久精品亚洲中六字幕| 亚洲最大91网| 久久久久久大| 欧美色三级片91| 六月婷婷激情| 偷窥自拍亚洲色图| 91人人看| 亚洲AV乱码专区国产噜噜亚洲| 五月婷婷激情网| 欧美性爱一级操| 国产又大又硬又长又粗| 日韩国产成人自拍视频| 精品国产肉丝袜在线拍国语| 欧美日韩国产高清在线一二三区| 国产免费操逼| 综合久久六月久久婷婷| 国产精品自拍欧美在线| 色九区| 亚洲综合色网| 在线天堂999| 亚州欧美在线| 欲香欲色综合天天伊人| 综合网欧美| 九九热九九| 久操91视频| 精品久久久久久中文字幕视频免费| 亚州综合色| 久久久亚洲熟妇熟女| 在线播放成人高清免费视频| 日韩亚洲精品一区二区| 欧美国产伊人久久久久| 亚洲美乱| 嗯嗯啊啊视频一区二区三区| 97网址97| 激情综合网激情综合| 亚洲人体视频在线观看| 精品久久久久av影院| 国产无马av| 黑操B| 东北老女人的激情视频| 国产福利夜| 欧美韩日精品资源| 日韩色| 自怕偷自怕亚洲精品| 亚洲成a人在线观看久| 草草影院最新网址| 人妻熟女午夜精品在线| 国产精品久久久777| 97欧美色综合| 国产无码精品无码| 久久精品 六十路 熟女 欧美| 免费的很黄很污的全部视频| 国产日比| 色大香蕉97N| 久久久免费视频18| wwwxxx日本爽| 99re9在线| av天天在线| 亚洲天天操| 欧美日韩国产黄色片| 欧美日韩在线国产在线| 日韩在线97| 91精品91久久久久77777俄罗斯老妇姓x| 人人干黄色| 99精品久久| 青青青国产| 99re99在线视频| 成人七区| 久久神马影院| 自拍内地三级在线观看| 夜夜嗨一区二区| 国偷自 一区二区| 亚洲午夜未满十八勿入网站日本又色又爽又黄| 五月丁香婷婷综合| 丝袜 中出 制服 人妻 美腿 中文字幕| 久久 精品| 欧美一区二区三区入口| 日韩精品人妻系列无码天堂| 亚洲加勒比| 国产AV超爽| 亚洲诱惑| 影音先锋少妇| 亚洲精品国产av天美传媒| 97神马久久| 黄色一级视| 99蜜桃臀久久久欧美精品网站| 欧美激情综合| 日韩女优中文字幕| 69XX一中文字幕人妻91| 中文字幕在线观看AV| 亚州性色| 情色AV电影| 久久久久久久久999| 日韩成人综合网| 激情四射婷婷六月天| 韩国午夜理伦三级好看| 精品九九九九九九九九九| 欧美Aⅴ| 蜜奶av| 内射夫妻三片| 人妻少妇精品久久久| 富女玩鸭子一级毛片| 国产视频三区四区| A级毛片在线看免费| 开心六月色| 色y情视频免费看| 国产婷婷一区| 2019久久久久久久久福利| 成人在线永久| 日韩传媒在线| 久久这里是精品| 性交一区二区在线播放| 乱伦3P视频| 综合自拍| 香蕉久久国产AV一区二区| 狠狠躁伊人中文字幕| 日本在线一二 | 日本高清加勒比| 黄片无码在线制服| 久久精品无码专区| 淫骚熟女一区二区三区| 一级性爱啪啪视频| 久久天堂网| 日韩乱码av| av网站在线看| 九九九九精品一区| 五月色综合| 黄色免费一级在线毛片| 久久九操在线观看| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 国产亚洲日韩在线三区黑人| 久草电影网| 精品久久久无码| ,成人免费啪啪视频| 国产精品久久久久久久久久久久久久久久 | 精品区9| 强被迫伦姧在线观看无码网站| 色偷综合| 欧美狠狠弄| 中文字幕狠狠玩| 男人午夜天堂| 使劲用力艹少妇视频一区二区 | 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 日本熟女中文字幕一区| 国产9区| 加勒比伊人影院| 又黄又爽在线观看视频| 大黄片做爱的大的| 精品久久久久久中文字幕视频免费| 97频视在线| 亚洲男人天堂2019| 五月婷婷久久综合| 天天干夜夜一操| 91av熟女人妻| 久久东京热久久| 情色五月天网| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 超碰97男人| 高清在线偷拍自拍视频| 99性爱在线观看| 视频国产欧美在线播放| 免费视频观看60秒| 精品一区99999| 久久大线蕉一区| 91丝袜美腿网站| 五月丁香六月婷综合成人综合| 手机在线播放国产福利| 天天搞在线综合网| 精品中文字幕一区二区| 日韩一区二区精彩视频| 日本韩国国产精品一区| 99re在线| 亚洲无码电影久久久| 人人操人人摸超碰| 亚洲久久天堂| 日日骚一区二区三区| 日日干夜夜欢| 91无码人妻| 国产黄a三级三级三级av在线看| 久99| 五月婷婷激情综合| 日韩内射视频| 久久久精久久久| 青青爽| 骚妻少妇精品性色无码四色A V| 成人无码专区精品视频| 青青草吊丝| 第四色色综合91| 熟女在线视频| 亚洲自拍一区夜夜操| 欧美少妇性乱| 熟女露脸激情自拍视频| 久久成人东京热人妻| 夫妻AV网站| 色九九久九九| 天天草天天日| 操婢日韩| 美女极品一区二区三区| 人人操人人狠狠操| 人妻激情另类| SS久久| 天天干人妻| 91欧美少妇| 人妻精品一区二区| 人人操人人摸人人骑| 黄色成人网久久久久久| 思思热在线视频在线| 亚洲日韩精品久久久久一区壹牛| 在线观看无码三级少妇| 在线无码网站| 色婷婷导航| 天堂蜜桃无码视频一区二区| 日日黄色三级网站| 少妇精品久久久八区九区| 中文三一区| 精品午夜福利导航| 蜜乳AV一区二区三区四| 97在线视频观看| 超硑97精品| 久久久天美| 东京热双插| 免费av在线播放二区| 亚洲一区二区精品福利| 9久久9综合| 男人的天堂日本东京热| 狠狠操狠狠操操| 亚洲精品啪视频| 色色国产| 呻吟 欧美 日本 中出| 久久黄人人爽视频| 久久精品国产96精品亚洲拳交| 夜夜中出国产| 亚洲另类色综合网站| 无码天堂| 精品久久99| 91综合国产精品| 99av| 女人高潮抽搐喷水视频网站| 大香蕉99热| 麻豆天美在线| 操逼操网| 97超碰巨乳| 日本熟妇浓毛hdsex| 秋霞欧美性爰视频| 久久人妻一区二区三区高清 | 99国产精品免费| 四虎影视精品| 99久久久久久久久| 国产精品久久久久久9999| 亚洲欧美电影| 婷婷综合激情| 日本高清视频在线观看黄已三辽| 操迟操逼在巾线Fre看| 天天欧美色| 婷婷10月天青娱乐| 国产熟女少妇一区| 久草国产在线视频| 欧州一区二区三区四区| 超碰导航97| 97欧美精品综合| 操碰97| 午夜福利免费福利视频| 日欧操屄| av亚欧| 男人的天堂免费| 天天内射| 大香蕉国产中文自拍| 91精品大奶人妻| 操日韩第| 操迟操逼在巾线Fre看| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 亚洲国产成人7777| 人妻少妇精品| 欧美激情专区| 射综合网| 免费操逼91| 色约约一区=区三区| 人妻喷水| 使劲用力艹少妇视频一区二区| 开心五月激情网| 免费人成?大片在线播放| 岛国激情视频在线观看| 天天操天天干一区二区| 国产在线视频二区| 一级黄色视频网| 日韩精品在线观看观看| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 人人操我人人干| 国产肏逼网站| 国产91亚洲精品一区二区三区| 不卡视频一区蜜桃视频 | 青青草吊丝| 五月激情天| 丁香婷婷九月| 99久久婷婷国产综合| 国产亚洲综合欧美一区| 99超级碰免费视频| 亚洲欧美精品一区天堂久久 | 国产精品久久久久久亚洲色欲| 日韩一级久久毛片| 亚洲精品三区在线观看| a天堂视频| JIZZJIZZ国产精品喷水| 99自拍视频在线| 日韩啪啪啪啪啪| 亚洲情色婷婷五月天| 久久久9品一区二区三区| 啊啊啊好湿国产一二| 少妇一区二区三区在线观看| 清纯唯美激情四射| 中文字幕人乱码中文字的预防方法 | 亚洲高潮少妇| 蜜臀国产AV中文字幕| 最新加勒比丝袜在线| 亚洲情色一区综合| 久久美国毛片| 亚洲第一男人天堂| 亚洲一区二区在线观看91| 人人么人人操| 中文自拍欧美影视| 野狼激情网| 日日黄色三级网站| 综合色区偷拍| 色屁屁影院www国产| 亚洲成人福利电影免费| 五月丁香久久| 亚洲欧美日产国产91毛片| 91n.欧美| 欧美夜夜草视频| 亚洲色 国产 欧美 日韩| 色噜噜狠狠色综合日日| 日韩9999| 久热伊人| 中文字幕精品免费一区二区| 在线中文字幕极品av| 97视频在线观看播放与子乱对白在线……| 亚洲九九爱| 久操| 欧美日韩性爱电影在线| 91精品人妻电影| 日韩美一区| 亚洲女人毛茸茸91| 国语对白露脸XXXXXX| 久操不卡视频| 好屌色综合| 国内一区二区免费| 国产农村一一级特黄毛片| 综合久欧洲| 亚洲图片91| 在线A日本| 99re这里只有精品3| 欧美第五页| 久久69精品久久久久久久| 亚洲精品丝袜-不卡成人免费……| 色娱乐色呦呦夜夜夜夜av| 伊人操| 91丨九色丨43老版熟女| 亚洲人91| 欧美成人A√在线一区二区| 亚洲人人操| 天天躁夜夜躁狠狠躁AV| 少妇无码av专区线| 美女大乳久久久久久久女人18| 久久内射| 欧美日韩99| 国产精品69久久久久久久| 欧 美 自 拍 偷 拍| 99热这里都是精品| 日日骚一区二区三区| 亚洲一区二区三区AV无码 | 日韩 欧美 视频 在线 一区| 日韩欧美被操黄免费观看| 97精品免费| 淮穴色AV| 国产精品农村妇女精品| 亚洲精品乱码久久久久久蜜桃麻豆| 九九毛片这里只有精品| 97资源亚洲| 激情五月婷婷综合| 91精品国产91熟女| 色优久久| 一区二区三| 日韩人妻少妇中文字幕| 欧美色院| 激情小说五月天| 国语精品av| 五月丁香| 亚洲毛片基地专区| 精品国产网站| 国模无码人体一区二区三| 亚洲色图 欧美热图 清纯唯美 另类自拍| 欧美高清色| 6080yy午夜理论三级一区二区三区无码| 天天操天天舔| 超碰三级秋霞| 亚洲**2021在线观看| 亚洲中文电影| 亚洲 一区二区 自拍| 伊人伊人LD| 日韩色| 久久久久幕乱码| 婷婷丁香五月激情啪啪| 人妻丝袜日本| 久久精品一区二区三区不卡| 欧美999| 国产又大又粗又长视频在线| 少妇3P性爱自拍| 中文字幕免费看| 五月天激情网图片| 20cm女自慰在线日韩欧美| 欧美天堂超碰97| 91精品啪在线观看国产城中村| 传媒在线观看一区二区三区| 97干日韩| 做爱A级亚欧| www.成人无码| 日韩天堂av电影在线观看| 国产一区二区三区白丝| 亚洲九九视频| 91 丝袜在线| 久久久久亚洲?V片无码V| 日韩欧美~中文字| 91xingse| 国产精品ⅴ无码大片在线看.| 丰满人妻一区| 国产精品女同| 在线观看黄色电话| 中文字幕精品探花视频| 中文子幕一二三| 东京热男人的天堂网| 一类无码操逼视频| 日韩熟女精一区二区三区不卡| 超碰79人人乐| 人人操人人摸人| 亚洲精品久久久久毛片A片拉屎 | a在线视频免费观看| 日本一级特级毛片视频| 人妻少妇无码 | 久久久精品电影| 一本大道青青| 操逼999| 九九99久久| 欧美日韩国产黄色片| 男人天堂新| 日韩97视频| 亚洲中文字幕乱码无码一区二区| 国产精品无码AV网站| 午夜男女爽爽爽影院视频| 国产精品乱码久久久久久久| 91丝袜美女| 亚洲激情在线| 天天操女人| 五月天色色色| 强奸乱伦av电影| 20cm女自慰在线日韩欧美| 国内一级精品| 欧美综合777| 女人的天堂大香蕉网| 日本天天人人狠狠在线日美女 | 欧美日韩国第一区| av天堂影视中文在字幕在线中文| 91高清无码下载| 久久久久久久久久va| 亚洲图片另类| 啊啊啊啊在线播放| 欧美一区二区三区黄色影视| 安徽熟妇视频| 清清一区二区三区四区不卡视频| 另类在线| 日韩成人精品视频自拍| 亚洲色图欧美色图日韩色图| 波多野结衣之双飞调教在线播放| 亚洲九九九九| 天天噜| 热热色中文无码| 亚洲国产中文字幕| 日韩二区三四区五区六区在线看| 91精品国久久久久久无码| 91撸色网 玖玖网 欧美| 人人摸人人干| 日韩精品人妻中文字幕有码午| 大香蕉手机在线视频| 天天色播| 婷婷色在线| 天天干天天干天天干| 国产日韩欧美亚洲精品95| 日本 色 导航| 日本精品无码三级网站| AV一区观看| av天堂精品久久| 日本免费一级AAA大片器 | 91色色综合| AV色图| 久久r精品| 人妻娇喘 激情视频| 亚洲 欧美 第一页 | 久久性爱视频免费看| 欧美日韩国产成人高清| 伦激情人妻另类人妻| 午夜啪| 欧美组图日韩亚洲中文字幕| 狠狠操狠狠操操| 超碰免费人妻在线| 欧美日韩大香蕉| 天天看夜夜看日日干| 九九碰九九爱97超碰| 男人女人18禁片免费看网站| 性饥渴少妇av无码毛片| 久操网址| 国产成人网址| 一区二区三区四区五区高清无码永久视频 | 999久久久精品国产| 伊人97色天使| 怡红院亚洲怡春院av| 麻豆天美传媒毛片| 国产第25页在线观看| 久久极品一区二区| 国外91| 国产精品天堂| 亚洲囯产精品女人久久久| 久久久久久AⅤ无码免费肉站| 最新欧洲欧美日本激情网站| 玖玖综合色| 无码男人天堂| 外站AV在线| 日韩国产在线观看av| 青青11操操操操操操操操| 丝袜美女诱惑 91 视频| 校园春色五月天| 韩国三级理论在线| 天天综合香 ld视频| 黄色工厂这里只有精品| 亚洲第一黄色av网站| 一二三啪啪专区| 2017天天操天天日| 综合久久久久久久综合网| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 97碰碰色| 欧美极度丰满熟妇hd| 97看操| 国产精品九九九| 日本熟女中文| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 亚洲色图A| 夜间福利片1000无码| 色九月综合| 综合网 欧美| 去干网最新版| 日韩八十路老熟女| 久操凹凸视频| 97 国产一区| 亚洲中文字幕在现观看| 伊人久久88国产女| 亚洲丝袜二区在线| 日韩亚洲中文字幕在线| 欧美人妻色| 亚洲欧美国产va在线播放频| 丁香激情五月| 97超碰精品图片| 国产亚洲禁久一区二区| 操逼999| 久久亚洲欧美中文字幕国语| 操我啊啊啊啊啊| 91肉丝| 蜜桃久久综合视频| 国产精品扒开腿做爽爽爽视频| 国模吧 一区二区三区| 女上位精品在线| 亚洲综合精品国产一区| 亚洲色图第四色| 日韩一级成人毛片免费观看 | 亚洲影视综合网| 97在线免费看视频| 999在线电影香蕉| 啪啪啪亚欧美视频| 国语人妻精彩刺激| 亚洲网站一区二区在线| 人妻天天爽夜夜爽精品2| 国产精品黑人一区二区三区| 国产夜夜操| 精品久久无码午夜福利| 小骚逼被操的爽不爽| 青椒国产97在线熟女| 色呦色呦色精品| 精品超碰国产| 91人妻熟女| 欧美一区二区在线资源| 激情 欧美 亚洲 小说| 国产精品电影推荐| 伊人久久大香大香线蕉中文| 国产高清在线观看欧美| 九九九九97| 欧美视频在线视频免费va| 久久国产精品m码| 97视频观看| 超碰无码加勒比| wuyechaopeng| 久久,精品一二三| www.99色| 日本 情色 1区2区3区| 久久婷婷热| 精品人妻中文字幕高清| 青青草男人天堂| 成人av动漫在线观看| 亚洲一区二区三区婷婷| 一区,二区,三区视频| 麻豆国产96在线| 成人久久久| 天堂资源站| 丁香五月天社区| 日韩性爱免费观看视频| 欧美桃色网| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 亚洲人久久久久日| 97看操| 91婷婷| 成人无码在线视频网站| 玖玖无码超碰| 激情图片亚洲色图| 99热伊人| 国产女人高潮嗷嗷嗷叫小说| 精品玖九九久| 日韩欧美偷拍美女视频| 亚洲日本成人动漫| 国产不卡免费在线视频| 亚欧美色| 欧美日韩中国x| 欧美超碰96| 国产高潮AA片免费看| 伊人专区一区二区三区| 99re28在线观看| 国产亚洲精品美女| 欧美日韩国产中文精品字幕自在自线,| 亚洲第一精品在线视频| 香蕉视频欧美一卡二卡| 亚洲综合色在线| 操美女人妻| 青青草视频久久| 操我无码| 成人AV超碰免费在线| 99re视频在线播放青草| 97天天在线| 国产农村妇女精品一二区| 99操99| 日美免费黄片| 自怕偷自怕亚洲精品| 人妻久久一区二区三区 | 91色欧美| 尤物视频偷拍免费| 91/欧美| 超碰国产情侣自拍网| 婷婷五月丁香五月| 欧美顶级黄片AAAAA在线免费看| 午夜视频久久久久一区| 一级毛片电影免费看| 欧美偷拍| 久久蜜桃一区二区| 中文字幕精品亚洲熟女| 色综合超碰超| 欧美亚洲AN| 九九九九日本 | 欧美色图私拍91| 91久久精品国产| 密桃99999| 99热久| 五月天色综合| 亚洲1区| 另类小说五月天| 日韩在线观看中文字幕视频| 超碰成人最新最好看| 人妻少妇被猛烈进入中| 国产一级特黄大片处女| 亚洲国产精品成人综合| 无码直播久久久| 国产 亚洲 一二三四| 色色毛片| 精品性爱| 亚洲国产成人精品999| 一区二区三区美女超清| 久久丁香久草综合网| av爱爱爱| 国产亚洲精品无码三区| 老司机天天操| 久久91精品国产9丨久久分亭| 熟女五十路一区二区三| 国产剧情AV不卡在线观看| 亚欧性爱ab| 婷婷五月综合在线| 久久久一级| 国产13区| 人妻熟女一区二区三区在线| 9999亚洲精品| 夜夜嗨一区二区三区三州加勒比 | 久草毛片电影怡| 亚洲欧美一区二区不卡视频播放| 黄色片G G G| 天操天操夜操夜月操月年年操操| 清纯唯美综合亚洲| 麻豆精品.欧美精品.日韩精品.| 黄页av| 一区二区三区美女超清| 黄色电影在线播放综合网站 | 立川理惠被中出无码| 91丨九色丨国产丨人妻在线| 日本激情免费大片| 亚洲精品视频在线播放| 欧美性天天影视| 国产黄色动态精品| 97国产精品久久久久 | 试看60秒| 岛国黄色大片网站| 国产欧美一区激情交| 亚洲熟妇自偷自拍另欧美| 中文字幕少妇色| 中文字幕伊人| 97亚洲在线| AV在线性爱| 日本福利二区视频| 夜夜高潮夜夜爽高清视频一| 亚洲无限观看| 青青草毛片| 影音先锋视频在线| 99色色网| 99国产精品免费| AV色女综合| 国产又色又粗又黄又爽| 亚洲天堂热| 成人天天看站长推荐| 97久久综合网| 影音先锋日本一区二区| 亚洲激情四射| av东京热男人的天堂| 欧美性91| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 色第一页| 91亚洲黄色网| 日韩在线一区高清在线| 99精品无码| 夜夜夜夜爽| 国产精品久久久久久久久久梁医生| 午夜高清成人在线视频| 欧洲亚洲人妻无码中字久久三区四区| 欧日韩一二三f区| 人妻81p| 精品无码一区二区| 大逼色网站| av网页一区二区三区| av操操不卡| 91亚洲综合在线| 入口操逼网站| 欧美综合在线91| 超碰97网站| 久久婷婷热| 日日干夜夜欢| 操操逼视频| 青青草原人妻| 亚洲男人天堂手机版| 另类 日韩 熟女| 9999亚洲电影| 在线午夜成人无码视频| 色五月激情网| 亚洲做性| 国产精品久久久久久 百度| 你草精品在线视频| 天天看夜夜看日日干| 天天狠| 97K超碰在线| 一区二区娱乐网站| 曰本特级特黄特色黄色A级网站高清在线免费看| 久久久久久久强迫| 殴美性色a级欧美| 天天综合青苹果| 国产亚洲国产超碰| 久久中文字幕女同性恋一区| 国产福利在线视频网站| 中文字幕人妻色偷偷久久皮 | 免费a v| 嗯嗯嗯好爽| 亚洲风情在线观看| 长长久久88视频| 9久热这里只有精品| 五月丁香色婷婷| 人人澡人人干| 五月天伊人| 精品久久久久综合无码| 天天流夜夜操| 一级性爱网| AV天堂电影网| AA级电影三区| 中文字幕78| 日本午夜操逼| 污电影在线观看| 欧美视频一区二区在线| 蜜桃午夜视频一区二区 | 黄色av一区二区在线| 一二三四区电影| 亚洲1区| 火箭成精品视频884必出精品| 亚洲另类综合欧美| 色综合一区二区三区| 蜜臀精品1区2区| 无码区蜜乳| 日韩亚洲97| AA丁香综合激情| 97免费视频在线观看| 国产AV天美| 波多野42部无码喷潮在线观看| 日韩精品国模| 狠狠色综合网| 2024年最新色情网站在线观看| 安徽熟妇视频| 嫩草一区二区在线观看| 亚洲综合色图欧美| 亚洲国产精品乱码在线观看| 成人97人人超碰人人| 天天干1区2区在线| 99无码视频| 51国产午夜精品视频| 东京热熟女亚洲视频网站| 国产精品三级视频网站| 成年人黄色| 亚洲一区二区 麻豆传媒| 999岛国大片| 精品99999| 超碰69| 中文字幕在线观看丝袜| 收看日本人日bb| 色九色久| 亚洲国产一区二区三区在线| 精品久久久久av影院| 九九操久久国产免费视频| 欧美在线伊人色| 欧美午夜一区二区三区| 天天色欧美| 男人精品天堂一区| Julia在线播放亚洲久久| 高清无码一区二区三区| 99热一区二区三区四区| 性生活久久久久久久久久| 国产又操| 成人五级久久| 日韩九九九| 国产精品久久久久久久免牛肉蒲团 | 97操| 久久精品一区一起草| 一区二区三区日韩欧美| 探花激情视频| 在线播放免费av福利片| 9久热这里只有精品| 好看的久久不射无码影视影院| www.色五月| 欧美性爱1080p| 亚洲欧美国产va在线播放频| 亚洲性刺激| 夜夜骑天天燥| 欧美熟爽综合| 婬女免费一二三区A片| 国产一区二区三区白丝| 天美传媒AV在线| 97视频在线观看网站| 日han少妇无码| 精品久久久久久亚洲| 草莓精品视频| 天天看天天在线精品| 日本影视久久免费| 91美| 变态另类专区| 天天日美女的B| 97在线欧洲| 久操视频免费在线观看| 涩五月婷婷| 最新国产精品久久精品| 九九干| 日熟女| 国产精品无码成人精品| 97亚洲欧美| 九九九九精品精| 日本日逼高清| 天天色黄色影院天天操| 狠狠操,使劲操| 97在线免费观看视频| 91熟女丨老女人| 人人妻人人爽人人精品| 欧美高潮| 亚洲91综合| 99国内熟女露脸视频| 久久久久网站-538在线视频-欧美永久乱码 | 免费精品中文字幕| 欧美日韩性爱电影在线| 国产偷拍网站| 新亚洲无码| 欧美不卡五十路| 伊人影院日本| 99无码狠狠久久| 免费精品无码一级毛片牛牛影视 | 97久久精品| 91久久| 亚洲天堂久久久久久粉红视频| 手机在线大香蕉| 爱逼综合| 麻豆三极片| 日本东京热久久久电影| 国产精品不卡一区二区电影| 久久亚洲国产成人| 黄色大片免费在线| 在线免费观看日韩一区| 精品人妻一区二区视频| 在线欧美69V免费观看视频| 日韩色欲久久一二三四区| 亚洲1区2区三区高清中文字幕| 强奸乱伦麻豆| 久9视频| 麻豆天美国美国产AV| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 97超碰色屌| 特级特黄一级毛片免费| 国产精品麻豆成人av| 丰满人妻aA一区二区三区| 午夜啪| 草草影院最新网址| 18禁网站在线播放| 久久欧美性爱视频| 99热官网| 91在线美女| 另类av综合久久| 久久精品六区| 嗯嗯不要视频| 人人搞人人插人人操| av无线看| 图片区小说区| 91狠婷| 操逼999| 情色大香蕉| 欧美在线91| 操逼片国产| 久操婷婷| 亚洲综合另类欧美久久久| 欧美男人亚洲天堂| 国产午夜精品一区二区三区牛牛| 天天日天天干少妇日| 亚瑟国产精品久久无码| 操逼网站视频漫画国产| 夜色五月天| 亚洲色91C| 亚洲熟女人妻中文字幕一区二区| 性色AV蜜色av色欲av| 在线可观看的黄色网址| 蜜色网色哟哟| 天欧美在线|