精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

沒錯,我是高端吃瓜玩家

開發(fā) 前端
簡單的說,我們要掌握發(fā)送和接收的規(guī)則,將單詞字母轉(zhuǎn)成摩爾斯電碼發(fā)送,將接收的摩爾斯電碼轉(zhuǎn)成單詞單詞字母即可。

前言

大家好,我是bigsai大賽哥,好久不見,甚是想念。

行了,咱們步入正軌,已經(jīng)進(jìn)入2022,在2021這一年,很多人的快樂消遣是在吃瓜快樂中度過的,有的作為主動吃瓜群眾第一手掌握消息,有的作為第二手或者被動吃瓜者(比如我就是)。

然而,現(xiàn)在吃瓜可有難度了,因?yàn)橛械墓峡赡苁羌俚模巢┥纤巡坏剑谝恍┚W(wǎng)站上、聊天出現(xiàn)一個神秘串串!!

這一串是啥玩意,驚天大瓜表達(dá)的啥意思,該怎么解讀?

這年頭,沒點(diǎn)知識連吃瓜群眾都當(dāng)不成(手動狗頭)!作為程序員,不光要知道吃瓜的內(nèi)容,還要知道吃瓜背后的技術(shù)!

好了,也不藏著掖著了,這一串就是大名鼎鼎的摩爾斯電碼,也稱摩斯密碼,當(dāng)然這是以文本的形式直接展現(xiàn)了,你在諜戰(zhàn)劇中、戰(zhàn)爭劇中那些電報的滴滴噠噠的其實(shí)多半就是摩斯密碼,趁著這個機(jī)會,好好了解一下摩爾斯密碼吧!

摩爾斯電碼源來

摩爾斯電碼是怎么被發(fā)明的呢?是某個叫摩爾斯的天才發(fā)明的嗎?

其實(shí)在摩爾斯之前,就有非常笨重的電報機(jī),不過這種電報機(jī)用了26根線表示26種字母(肯定沒學(xué)過計算機(jī),妥妥的暴力美學(xué)),在實(shí)用方面很差。

在電氣時代剛流行的時代,并沒有電話手機(jī),人們探索的第一步是如何用電去傳訊消息,在這期間摩爾斯發(fā)明了電報并且獲得了專利,并且他的團(tuán)隊(duì)(有說是他的助手艾爾菲德·維爾發(fā)明的摩爾斯電碼)配套發(fā)明了一套傳輸?shù)囊?guī)則被稱為摩爾斯電碼。

在當(dāng)時利用電去傳輸消息信號是非常了不起的發(fā)明,而電報機(jī)接收方會根據(jù)電報電流通過控制一直筆打印發(fā)送方按下電報機(jī)的內(nèi)容,電流通過長劃線就長,電流通過時間段劃線就短,沒有電流通過紙上空白就增長。

然后接收方根據(jù)摩爾斯電碼規(guī)則轉(zhuǎn)譯成對應(yīng)的字符單詞即可。主要用點(diǎn)( · )和劃(—)的不同排列組合表示不同的數(shù)字或字符,然后點(diǎn)劃之間、字符之間、字母之間停頓時間都是不同的。

摩爾斯電碼為什么用點(diǎn)劃兩種表示一些單詞字母呢?

大家可以考慮一下,如果一種符號確實(shí)理論上行得通,但是一個符號能夠表示的內(nèi)容太少,一個連續(xù)點(diǎn)表示1、兩個連續(xù)點(diǎn)表示2、三個連續(xù)點(diǎn)表示3…… n種數(shù)字字符就需要n個數(shù)量符號數(shù)才能表示,這樣下去符號使用效率是非常低效了。

如果是三種符號表示,確實(shí)能夠表示的內(nèi)容非常多,長度為5的符號就可以表示243個字符。能夠表達(dá)的內(nèi)容其實(shí)已經(jīng)遠(yuǎn)遠(yuǎn)超過日常使用(0-9數(shù)字,26個字母,幾個常用符號)。看起來好像很緊湊但是三種符號訊號根本不好傳遞,很容易出現(xiàn)混淆問題(比如在電報等其他傳輸那么會分成長、中、短三種不容易甄別,遠(yuǎn)不如長短兩種容易區(qū)分)。

所以2就是一個非常神奇的數(shù)字,無論在計算機(jī)還是大自然都是非常巧妙的,01、長短、快慢、高低……都可以用兩種符號表示,并且這些內(nèi)容在現(xiàn)實(shí)生活中也是非常容易展示實(shí)現(xiàn)的,并且使用兩種符號能夠表示內(nèi)容數(shù)量也是可以接收的,長度為5的符號就可以可以表示2^5=32種數(shù)字字符,所以這種長度還是能夠被接收的。

摩爾斯電碼藝術(shù)

我們關(guān)注摩爾斯電碼的一些含義。上面提到摩爾斯團(tuán)隊(duì)早期發(fā)明的摩爾斯電碼是一些表示數(shù)字的點(diǎn)和劃,用一個電鍵可以敲擊出點(diǎn)、劃以及中間的停頓(長按,短按表示點(diǎn)(.)、劃(—),松開不按表示停頓),點(diǎn)劃、字符、單詞等時長和停頓為:

  • 點(diǎn)( · ):1 (讀 滴 dit ,時間占據(jù)1t )
  • 劃(—):111 (讀 嗒 dah ,時間占據(jù)3t )
  • 字符內(nèi)部的停頓(在點(diǎn)和劃之間):0 (時間占據(jù)1t )
  • 字符間停頓:000 ( 時間占據(jù)3t )
  • 單詞間的停頓:0000000 ( 時間占據(jù)7t )

有了上面的規(guī)則,我們大致能知道摩爾斯電碼長什么樣,那么怎么甄別它代表什么內(nèi)容呢?這時候需要查找一本代碼表才能知道每個字母數(shù)字符號等對應(yīng)的內(nèi)容,其中一些主要內(nèi)容如下:

來源維基百科

我靠,這個看起來好像有點(diǎn)記憶難度啊,確實(shí)是有難度的,根據(jù)這些內(nèi)容符號的特性,有些教授給摩爾斯密碼搞成一棵二叉搜索樹讓大家更便捷記憶摩爾斯密碼,二叉樹表示的國際摩爾斯電碼。圖中每一分叉的左支為點(diǎn)(·),右支為劃(-),直到到達(dá)所需要表示的字符為止,這樣一棵樹可以更容易找到相似內(nèi)容的聯(lián)系:

來自維基百科

不過,摩爾斯電碼還是非常有智慧的(這里不清楚是發(fā)明者這么有智慧還是記憶大師發(fā)現(xiàn)這么牛批的規(guī)律),摩爾斯電碼的字母和數(shù)字還有著一套象形記憶的方式,這個可不是跟咱們牛批的中文有點(diǎn)相似么,其具體的記憶圖為:

來源dreamstime.com

一個MORSE CODE 的摩爾斯電碼的表示和記憶為:

掌握摩爾斯密碼

好了,通過上面的介紹,想必你對摩爾斯電碼有了一定的了解,對于我們普通人來說,不需要會記住每個字母數(shù)字對應(yīng)的摩爾斯電碼,我們需要掌握的就是能夠懂得摩爾斯電碼編解碼的方式和規(guī)則即可。

簡單的說,我們要掌握發(fā)送和接收的規(guī)則,將單詞字母轉(zhuǎn)成摩爾斯電碼發(fā)送,將接收的摩爾斯電碼轉(zhuǎn)成單詞單詞字母即可。

比如我們現(xiàn)在有:ge gie hao 這段話,其中

a : .- ;e : .;g : --.;h : .... ;i : ..;o: ---

那么紙面上對應(yīng)的摩爾斯編碼為(視覺上可甄別的距離):

  1. --. .     --. .. .    .... .- ---   

如果用聲音來表示(滴噠),那就是這樣的:

  1. --.  . /  --.   ..  .  /  ....   .-   ---   
  2. 噠滴 滴 噠噠滴 滴滴 滴   滴滴滴滴 滴噠 噠噠噠 

上面就大概是聲音的傳播過程(/表示單詞停頓時間長一些),如果用非常精確的二進(jìn)制來表示,0表示沒數(shù)據(jù),1表示有數(shù)據(jù)(電鈴按下),其實(shí)噠是滴的三倍時常,其二進(jìn)制對應(yīng)為:

  1. --.  . /  --.   ..  .  /  ....   .-   ---  
  2. 11011101 000 1 0000000  111011101 000 101 000 1 0000000 1010101 000 10111 000 11101110111 

可能看起來不是很直觀,我優(yōu)化一下(實(shí)際上01是連續(xù)的沒有括號的)

  1. --.        .      /       --.        ..      .    /     ....        .-          ---  
  2. 11011101)000(1)0000000(111011101)000(101)000(1)0000000(1010101)000(10111)000(11101110111) 
  3. 噠噠滴       滴  (大停頓)  噠噠滴       滴滴     滴 (大停頓) 滴滴滴滴      滴噠         噠噠噠 

上面就是比較標(biāo)準(zhǔn)的摩爾斯電碼,其中三個1表示噠(三倍滴的時常),一個1表示滴,0表示沒有電流數(shù)據(jù),這個空檔期也要把握火候的,滴噠之間是1t空閑時間,幾個滴噠組成的字符之間是3t空閑時間,幾個字符組成的一個單詞之間是7t空閑時間。

這樣,摩爾斯電碼的規(guī)則你就差不多是拿捏了。同樣給你一個摩爾斯電碼,比照電碼表也很容易給它轉(zhuǎn)成對應(yīng)語句。

不過在那個時代很多電報是按照長度收費(fèi)的,然而很多人就用一些簡要的單詞字母表示一句話,于是常用縮寫被很多人使用,這里不進(jìn)行太多介紹,知道有點(diǎn)類似暗語就比如plmm:

此外,摩爾斯電碼還有一些特殊符號,表示發(fā)錯了、停止、終止、錯誤等等用來確保摩爾斯電碼發(fā)送的正確性(畢竟人肯定會有腦子糊涂或者手抖時刻就按錯了是吧)。

中文電碼

對于歐美一些國家來說,他們用那些單詞和字母使用標(biāo)準(zhǔn)的摩爾斯電碼來通訊是沒有任何問題的,畢竟26字母+數(shù)字+10個數(shù)字+少量符號就足夠了,自摩爾斯電碼在1835年發(fā)明后,一直只能用來傳送英語或以拉丁字母拼寫的文字,但是在中國甚至其他國家,怎么用電報進(jìn)行通信呢?

拼音?

拼音雖然勉強(qiáng)傳遞一些消息,但是拼音會有很多造成很多解釋錯誤,舉個例子:

tai shuai le 可以表示太帥了,也可以表示太衰了。

ni tai mei le 可以表示你太美了,還能表示你太沒了,還能表示鎳鈦沒了……

主要是中文博大精深,所以拼音行不太通順,于是清朝時候政府雇外國人設(shè)計了中文電報,中文電碼表采用了四位阿拉伯?dāng)?shù)字作代號,簡稱“四碼電報”,從0001到9999按四位數(shù)順序排列,用四位數(shù)字表示最多一萬個漢字、字母和符號。

中文電碼,又稱標(biāo)準(zhǔn)中文電碼、中文商用電碼、中文電報碼或中文電報明碼,原本是于電報之中傳送中文信息的方法,它是第一個把漢字化作電子訊號的編碼表,大家只需要知道它在初始時候采用的這種方式就行了。

如果大家想查閱相關(guān)中文漢字對應(yīng)的數(shù)字,可以在下面網(wǎng)站上查詢:

https://apps.chasedream.com/chinese-commercial-code/

百科對應(yīng)的中文電碼也有:

https://baike.baidu.com/item/%E4%B8%AD%E6%96%87%E7%94%B5%E7%A0%81/2667759?fr=aladdin

但是中文電碼是無理碼并且數(shù)量也太多了,所以一般用戶根本沒法記憶使用,隨著通信發(fā)展、電話、手機(jī)計算機(jī)的發(fā)展,中文電碼的應(yīng)用場景還是比較少的。

現(xiàn)在的各個網(wǎng)站中的中文摩斯密碼,大家實(shí)現(xiàn)的大多不是標(biāo)準(zhǔn)的中文電碼表對應(yīng)的數(shù)字,很多是借助了其他編碼—Unicode編碼。Unicode(統(tǒng)一碼、萬國碼、單一碼)是計算機(jī)科學(xué)領(lǐng)域里的一項(xiàng)業(yè)界標(biāo)準(zhǔn),包括字符集、編碼方案等。Unicode給每個字符提供了一個唯一的數(shù)字,不論是什么平臺、不論是什么程序、不論是什么語言。

所以大部分實(shí)現(xiàn)中文摩斯密碼的時候?qū)?yīng)中文字符轉(zhuǎn)成4字節(jié)unicode(UCS-4),然后再將這四個字符進(jìn)行摩爾斯編碼即可。

當(dāng)然,各家實(shí)現(xiàn)方案細(xì)節(jié)上還是有所區(qū)別的,但是問題不大,但是大部分對其編碼過程只對中文進(jìn)行Unicode編碼保證英文與標(biāo)準(zhǔn)的摩爾斯電碼進(jìn)行統(tǒng)一。

還有就是為了讓解碼過程更容易,在中文摩斯密碼中每個字符之間用\劃分,這樣通過\可以準(zhǔn)確知道一個字符的起始位置直接進(jìn)行對應(yīng)轉(zhuǎn)換即可,就不用擔(dān)心因?yàn)樽址?shù)字湊在一起造成的混淆處理了。

實(shí)現(xiàn)一個簡單的中文摩斯密碼

上面說了那么多,對于程序員來說,寫的code才是真的,這里面針對上面的介紹,實(shí)現(xiàn)一個簡單的摩斯密碼啦。

這里面實(shí)現(xiàn)說明一下:

  • 標(biāo)準(zhǔn)形式無論中英文都以`\`作為字符劃分
  • 中文的處理不采取標(biāo)準(zhǔn)中文電碼表,這里采用轉(zhuǎn)成Unicode編碼的4個16進(jìn)制數(shù)字
  • 不處理空格,字符間用斜杠分割(放開頭),中文字符內(nèi)的Unicode字符間用空格分開(本質(zhì)屬于一個中文字符內(nèi))
  • 要將字符轉(zhuǎn)成大寫(或者小寫),在進(jìn)行Unicode編碼時候16進(jìn)制有的字母也要轉(zhuǎn)成統(tǒng)一大小寫

實(shí)現(xiàn)的代碼為:

  1. import java.util.HashMap; 
  2. import java.util.Locale; 
  3. import java.util.Map; 
  4.  
  5. //公眾號:bigsai 
  6. //2021 1.3 
  7. public class MorseCode { 
  8.     Map<Character, String> encMap = new HashMap<Character, String>();// 摩爾斯編碼表集合 
  9.     Map<String, Character> decMap = new HashMap<String, Character>();// 摩爾斯解碼表集合 
  10.  
  11.     public static void main(String[] args) { 
  12.         MorseCode morseCode=new MorseCode(); 
  13.         String val="big賽6啊 不錯 sai66"
  14.         String encode=morseCode.Encryption(val); 
  15.         String decode=morseCode.Decryption(encode); 
  16.         System.out.println(encode); 
  17.         System.out.println(decode); 
  18.     } 
  19.  
  20.     public MorseCode() { 
  21.         encMap.put('A'".-"); 
  22.         encMap.put('B'"-..."); 
  23.         encMap.put('C'"-.-."); 
  24.         encMap.put('D'"-.."); 
  25.         encMap.put('E'"."); 
  26.         encMap.put('F'"..-."); 
  27.         encMap.put('G'"--."); 
  28.         encMap.put('H'"...."); 
  29.         encMap.put('I'".."); 
  30.         encMap.put('J'".---"); 
  31.         encMap.put('K'"-.-"); 
  32.         encMap.put('L'".-.."); 
  33.         encMap.put('M'"--"); 
  34.         encMap.put('N'"-."); 
  35.         encMap.put('O'"---"); 
  36.         encMap.put('P'".--."); 
  37.         encMap.put('Q'"--.-"); 
  38.         encMap.put('R'".-."); 
  39.         encMap.put('S'"..."); 
  40.         encMap.put('T'"-"); 
  41.         encMap.put('U'"..-"); 
  42.         encMap.put('V'"...-"); 
  43.         encMap.put('W'".--"); 
  44.         encMap.put('X'"-..-"); 
  45.         encMap.put('Y'"-.--"); 
  46.         encMap.put('Z'"--.."); 
  47.  
  48.         /* 數(shù)字電碼0-9 */ 
  49.         encMap.put('0'"-----"); 
  50.         encMap.put('1'".----"); 
  51.         encMap.put('2'"..---"); 
  52.         encMap.put('3'"...--"); 
  53.         encMap.put('4'"....-"); 
  54.         encMap.put('5'"....."); 
  55.         encMap.put('6'"-...."); 
  56.         encMap.put('7'"--..."); 
  57.         encMap.put('8'"---.."); 
  58.         encMap.put('9'"----."); 
  59.  
  60.         /* 標(biāo)點(diǎn)符號,可自增刪 */ 
  61.         encMap.put(','"--..--"); // ,逗號 
  62.         encMap.put('.'".-.-.-"); // .句號 
  63.         encMap.put('?'"..--.."); // ?問號 
  64.         encMap.put('!'"-.-.--"); // !感嘆號 
  65.         encMap.put('\''".----.");// '單引號 
  66.         encMap.put('\"', ".-..-.");// "引號 
  67.         encMap.put('='"-...-");     // =等號 
  68.         encMap.put(':'"---..."); // :冒號 
  69.         encMap.put(';'"-.-.-."); // ;分號 
  70.         encMap.put('('"-.--.");     // (前括號 
  71.         encMap.put(')'"-.--.-"); // )后括號 
  72.         encMap.put(' '" ");        // 留空格,這里的星號是自定義的 
  73.         for(Character ch:encMap.keySet()){ 
  74.             decMap.put(encMap.get(ch),ch); 
  75.         } 
  76.  
  77.     } 
  78.     boolean isChinese(char ch){ 
  79.         //獲取此字符的UniCodeBlock 
  80.         Character.UnicodeBlock ub = Character.UnicodeBlock.of(ch); 
  81.         //  GENERAL_PUNCTUATION 判斷中文的“號 
  82.         //  CJK_SYMBOLS_AND_PUNCTUATION 判斷中文的。號 
  83.         //  HALFWIDTH_AND_FULLWIDTH_FORMS 判斷中文的,號 
  84.         if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS 
  85.                 || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS 
  86.                 || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A 
  87.                 || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B 
  88.                 || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION         // 判斷中文的。號 
  89.                 || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS       // 判斷中文的,號 
  90.                 || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION                 // 判斷中文的“號 
  91.         ){ 
  92.             return true
  93.         } 
  94.         return false
  95.     } 
  96.     //帶中文的轉(zhuǎn)成unicode 
  97.     String Encryption(String str){ 
  98.         str=str.toUpperCase(); 
  99.        // System.out.println(str); 
  100.         StringBuilder sBuilder=new StringBuilder(); 
  101.         char chs[]=str.toCharArray(); 
  102.         for(char ch:chs){ 
  103.             if(ch==' '){//不處理空格 
  104.                 continue
  105.             } 
  106.             sBuilder.append("\\");//轉(zhuǎn)義字符 字符間斜杠分開 
  107.             if(isChinese(ch)){ 
  108.                 String unicodeStr=Integer.toHexString(ch).toUpperCase();//轉(zhuǎn)成unicoede 
  109.                 for(int i=0;i<unicodeStr.length();i++){ 
  110.                     sBuilder.append(encMap.get(unicodeStr.charAt(i))); 
  111.                     if(i!=unicodeStr.length()-1) 
  112.                        sBuilder.append(' ');//一個字符見的 摩斯密碼用空格隔開 
  113.                 } 
  114.             }else { 
  115.                 sBuilder.append(encMap.get(ch)); 
  116.             } 
  117.  
  118.         } 
  119.         return  sBuilder.toString(); 
  120.     } 
  121.     String Decryption(String morseCode){ 
  122.         StringBuilder sBuilder=new StringBuilder(); 
  123.         String morseStrs[]=morseCode.split("\\\\");//轉(zhuǎn)義字符 
  124.         for(String morseStr:morseStrs){ 
  125.             //一個字符 可能中 
  126.             if(morseStr!=null&&!"".equals(morseStr)){//去掉開頭空的 
  127.                 String strs[]=morseStr.split(" "); 
  128.                 if(strs.length==1){//非中文直接找 
  129.                     sBuilder.append(decMap.get(morseStr)); 
  130.                 }else {//中文先轉(zhuǎn)成4位unicode然后轉(zhuǎn)成中文 
  131.                     StringBuilder unicodeStr=new StringBuilder(); 
  132.                     for(String uniChar:strs){ 
  133.                         if(uniChar!=null&&!"".equals(uniChar)){//去掉開頭空的 
  134.                             unicodeStr.append(decMap.get(uniChar)); 
  135.                         } 
  136.                     } 
  137.                     int chr = Integer.parseInt(unicodeStr.toString(), 16); 
  138.                     sBuilder.append((char)chr);//(char)別忘了 
  139.                 } 
  140.             } 
  141.         } 
  142.         return sBuilder.toString(); 
  143.     } 

測試為:

空格不處理

結(jié)語

到此,摩爾斯電碼的內(nèi)容介紹就結(jié)束啦,對于摩爾斯電碼,我也只是介紹一點(diǎn)點(diǎn),實(shí)現(xiàn)也是簡單實(shí)現(xiàn)一個中文的摩斯密碼轉(zhuǎn)換,有可能情況沒考慮(有錯誤歡迎指正,今天寫的比較匆忙),大家參考學(xué)習(xí)即可啦!

另外,在這個季節(jié),祝愿大家在新的一年萬事如意,快快樂樂!【編輯推薦】

 

責(zé)任編輯:武曉燕 來源: bigsai
相關(guān)推薦

2013-12-13 09:54:34

2024-08-08 12:44:40

2020-03-17 09:47:25

數(shù)據(jù)庫工具技術(shù)

2015-10-29 09:36:31

高端編程語言

2018-03-06 13:50:54

Windows 7Windows游戲

2020-02-18 11:03:04

CIO釘釘小學(xué)生

2024-05-14 13:50:30

2025-05-26 08:25:00

微軟AI開放

2019-06-14 16:10:46

華為谷歌美國

2022-02-15 08:49:29

繼承C++variant

2019-01-29 09:18:00

開源代碼GitHub

2015-01-28 13:10:55

2018-03-08 14:30:30

區(qū)塊鏈數(shù)字貨幣去中心化

2019-07-24 15:33:55

大數(shù)據(jù)數(shù)據(jù)處理分析

2022-01-11 17:31:19

開源技術(shù)刪庫

2013-01-05 10:09:14

UbuntuUbuntu手機(jī)

2021-11-15 07:36:58

VGADVIHDMI

2023-08-29 10:09:11

2019-07-16 08:51:03

熱搜新浪微博數(shù)據(jù)

2018-04-10 07:57:41

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

午夜一区在线| 欧美激情精品| 亚洲激情图片一区| 国产精品香蕉视屏| 亚洲大尺度在线观看| 欧美xxxx中国| 亚洲成人精品久久久| 97xxxxx| 91在线直播| 成人av免费在线观看| 国产精品美女无圣光视频| 久热这里有精品| 亚洲美女久久| 欧美白人最猛性xxxxx69交| 久久久精品在线视频| av片在线观看免费| 亚洲国产精品激情在线观看| 国外成人免费视频| 国产毛片在线视频| 久久婷婷激情| 69影院欧美专区视频| jizz亚洲少妇| 日本一区二区三区视频| 亚洲精品在线观| 天美一区二区三区| 国产福利91精品一区二区| 五月婷婷激情综合网| 欧美日韩午夜爽爽| 91xxx在线观看| 久久久精品天堂| 国内精品国语自产拍在线观看| 国产精品久久久久久久久久久久久久久久久久 | 亚洲片国产一区一级在线观看| 99国产精品免费视频| 亚洲青青一区| 欧美私人免费视频| 国产裸体舞一区二区三区| 丁香影院在线| 亚洲综合免费观看高清完整版在线| 亚洲人成网站在线播放2019| а天堂8中文最新版在线官网| 91亚洲永久精品| 国产女主播一区二区三区| 国产高清不卡视频| 国产美女在线精品| 91在线播放国产| 国产免费高清av| 精品在线观看视频| 91精品国产自产在线老师啪| 中国老头性行为xxxx| 日本aⅴ亚洲精品中文乱码| 国产精品r级在线| 无码人妻丰满熟妇区bbbbxxxx| 99精品国产一区二区青青牛奶| 久久久久久久色| 国产在线免费视频| 在线日韩视频| 69久久夜色精品国产69乱青草| 日韩精品手机在线| 性高湖久久久久久久久| 热久久99这里有精品| 成人一级免费视频| 日韩国产精品久久久久久亚洲| 国产精品高清在线| 一区二区三区免费在线视频| 狠狠色狠狠色合久久伊人| 亚洲自拍偷拍一区| 污视频在线免费| 97se亚洲国产综合在线| 视频二区一区| 国产福利在线播放麻豆| 一区二区三区高清不卡| 精品久久一二三| 国产v综合v| 欧美日韩一区三区| 国产精品无码自拍| 青青视频一区二区| 中文字幕日本欧美| 丰满少妇高潮久久三区| 日韩视频精品在线观看| 国产精品日韩在线一区| 精品人妻一区二区三区含羞草 | 欧美精品亚洲二区| 四川一级毛毛片| 欧美日韩导航| 伊人久久综合97精品| 日本a级片视频| 亚洲欧美卡通另类91av| 成人国产在线激情| 五月婷婷六月丁香| 国产精品国产三级国产aⅴ入口| 99国产精品白浆在线观看免费| 345成人影院| 91精品国产高清一区二区三区蜜臀 | 在线观看国产亚洲| 久久99久久99小草精品免视看| 国产精品一级久久久| 国产免费永久在线观看| 亚洲精品久久久久久国产精华液| 日韩少妇内射免费播放| 国产精品一区免费在线| 亚洲欧美中文日韩在线v日本| 日韩va亚洲va欧美va清高| 西西人体一区二区| 69堂成人精品视频免费| 大地资源中文在线观看免费版| 亚洲一区二区三区自拍| 三级视频中文字幕| 特黄特色欧美大片| 欧美裸体男粗大视频在线观看| 日韩精品成人免费观看视频| 国产69精品久久99不卡| 亚洲一区三区| 欧美成人黑人| 亚洲丁香婷深爱综合| 久久久久亚洲av片无码| 日本在线不卡一区| 精品一区二区国产| 波多野结依一区| 91精品国产综合久久久蜜臀图片| 久久av无码精品人妻系列试探| 国产精品porn| 91欧美精品成人综合在线观看| 黄色av网站在线免费观看| 亚洲高清在线精品| 三大队在线观看| 99视频精品全国免费| 国产精品久久久精品| 日韩一区二区三区不卡| 一区二区三区在线观看网站| 九九九九九国产| 99久久婷婷国产综合精品电影√| 国产97在线视频| 你懂的在线观看| 欧美日韩国产在线看| 午夜精品免费看| 91视频一区| 成人a在线视频| 欧美日本一道| 91精品在线观看入口| 少妇高潮惨叫久久久久| 蜜桃一区二区三区在线观看| 日本高清不卡一区二区三| 中文字幕在线直播| 亚洲欧美日本另类| 中文字幕精品无| 国产午夜亚洲精品理论片色戒| 欧美黄色一级片视频| 欧美美女一区| 国产在线a不卡| 嫩草香蕉在线91一二三区| 51精品久久久久久久蜜臀| 网站永久看片免费| 韩国精品一区二区| 999久久欧美人妻一区二区| 亚洲专区**| 亚洲18私人小影院| 蜜桃视频在线播放| 欧美午夜寂寞影院| 亚洲精品久久久久久国| 国产麻豆成人精品| 一二三四视频社区在线| 亚洲区小说区| 91精品国产综合久久香蕉| 免费观看在线黄色网| 日韩一卡二卡三卡四卡| 免费观看一级视频| 久久久精品国产免费观看同学| 999精品视频在线| 911精品美国片911久久久| 99视频免费观看| 日韩欧美精品一区二区三区| 中文在线不卡视频| 99riav国产| 五月天久久比比资源色| 女人十八毛片嫩草av| 精品无码三级在线观看视频| 日b视频免费观看| 日韩美脚连裤袜丝袜在线| 国产精品视频公开费视频| 亚洲精品一线| 亚洲深夜福利在线| 国产免费无遮挡| 五月天一区二区| 蜜桃av.com| 成人av在线一区二区| 狠狠热免费视频| 欧美~级网站不卡| 欧美动漫一区二区| 国产精品久久免费视频| 欧美亚洲激情视频| av免费看在线| 亚洲欧美国产精品va在线观看| 国产三级精品在线观看| av在线二区| 色婷婷久久久综合中文字幕 | 国产aa精品| 91av在线国产| 免费黄色网页在线观看| 精品伊人久久97| a级片免费观看| 色av成人天堂桃色av| 黄色片在线观看网站| 久久久精品欧美丰满| 美国黄色一级视频| 久久99精品久久久久久国产越南| 青青草视频在线免费播放 | 久久精品国产欧美亚洲人人爽| 色视频在线观看| 欧美一区国产二区| 久久这里只有精品9| 午夜av一区二区| 久久久综合久久久| 亚洲婷婷综合久久一本伊一区| 亚洲av无码成人精品国产| 国产成人三级在线观看| jizz欧美性11| 三级久久三级久久久| 国产精品国产亚洲精品看不卡| 天天做天天爱天天综合网| 日韩精品大片| 免费看成人哺乳视频网站| 成人看片在线| 国产一区二区高清在线| 国产欧美日韩91| 日本美女久久| 国产精品第七十二页| 竹内纱里奈兽皇系列在线观看| 欧美极品在线播放| 污视频在线看网站| 久久精品国产96久久久香蕉| 97视频精彩视频在线观看| 伊人久久久久久久久久| 国模吧精品人体gogo| 国产丝袜一区视频在线观看| 神马午夜一区二区| 亚洲国产古装精品网站| 狠狠躁日日躁夜夜躁av| 精品少妇一区二区三区免费观看| 国产丰满果冻videossex| 3atv一区二区三区| 国产精品怡红院| 91麻豆精品国产91| 国产肥老妇视频| 亚洲白拍色综合图区| 欧美一级在线免费观看| 亚洲福利小视频| 亚洲aⅴ在线观看| 亚洲乱亚洲乱妇无码| 国产一区二区影视| 中日韩午夜理伦电影免费 | 神宫寺奈绪一区二区三区| 亚洲国产中文字幕久久网| 五月婷婷丁香六月| 国产视频精品va久久久久久| 国产专区在线| 色综合伊人色综合网| 怡红院av在线| 91国产美女视频| 日本美女一区| 国产精品一区久久| 蜜桃在线一区| 精品无码久久久久国产| 欧美综合一区| 久久久久久久久久久久久国产| 欧美日韩国产免费观看| 亚洲 高清 成人 动漫| 老司机免费视频久久| 亚洲一二三不卡| 成人一区二区在线观看| 女同毛片一区二区三区| 国产精品久久久久aaaa| 久久久久无码国产精品| 欧美色另类天堂2015| 中文字幕人妻一区二区在线视频 | 欧美一区二区私人影院日本| 老熟妇高潮一区二区高清视频| 亚洲视频在线观看网站| 国产黄网站在线观看| 韩国国内大量揄拍精品视频| 成人a在线观看高清电影| 99在线热播| 国产欧美日韩一区二区三区四区| a级黄色片网站| 亚洲在线播放| 一级黄色免费毛片| 久久综合久久久久88| 永久免费看片视频教学| 五月婷婷综合在线| 国产麻豆免费视频| 亚洲欧美国产va在线影院| av在线免费网址| 热门国产精品亚洲第一区在线| 久久久91麻豆精品国产一区| 欧美日韩国产高清视频| 欧美日韩国产色综合一二三四| 性生交免费视频| 成人免费高清视频在线观看| 9.1片黄在线观看| 五月婷婷激情综合| 国产三级按摩推拿按摩| 国产午夜精品免费一区二区三区| 四虎影院观看视频在线观看 | 亚洲视频国产| 一本一生久久a久久精品综合蜜| 一区二区福利| 亚洲av无码久久精品色欲| 欧美国产精品一区| 丰满少妇乱子伦精品看片| 制服.丝袜.亚洲.另类.中文 | 欧美激情免费视频| 久久日本片精品aaaaa国产| 欧美高清视频一区| 亚洲福利电影| 久久无码专区国产精品s| 国产精品传媒视频| 中文字幕第一页在线播放| 日韩美女av在线| heyzo高清在线| 91传媒免费看| 一本到12不卡视频在线dvd| 久久99爱视频| 国产日韩欧美麻豆| 你懂的国产在线| 日韩久久精品成人| 蜜桃视频动漫在线播放| 成人欧美一区二区三区黑人免费| 亚洲欧洲美洲一区二区三区| 色天使在线观看| 最近中文字幕一区二区三区| 在线观看国产黄| 日韩在线小视频| 久久91视频| 一区二区视频在线免费| 免费高清在线一区| 网爆门在线观看| 欧美伊人久久| 国产精品久久久久久久久久99 | 欧美亚洲日本国产| 青青草视频在线观看| 91av在线免费观看视频| 欧美xxxx在线| 99精品人妻少妇一区二区 | 国产一区二区不卡视频| 亚洲第一区色| 成人网站免费观看| 日韩欧美大尺度| 国产小视频在线播放| 国产精品极品尤物在线观看| 日韩啪啪电影网| 欧美激情第四页| 亚洲最色的网站| 天堂中文资源在线| 91av福利视频| 欧美日韩一区二区三区视频播放| 久久久精品麻豆| 国产精品高潮久久久久无| 99久久精品国产一区色| 久久久久久国产三级电影| 欧美综合自拍| 欧美黄色性生活| 亚洲视频图片小说| 黄色av网址在线| 日本精品性网站在线观看| 欧美丝袜激情| 亚洲成人激情小说| 精品久久久久久国产91| 成年人在线看| 亚洲最大福利网站| 国产欧美一级| 女性裸体视频网站| 日韩精品一区二区三区老鸭窝| 黄色污网站在线观看| 欧洲视频一区二区三区| 精品一区二区国语对白| 国产无遮挡又黄又爽又色| 亚洲网站在线看| 久久精品免视看国产成人| 日本精品一区在线观看| 中文字幕在线不卡国产视频| 国产高清精品软件丝瓜软件| 欧美在线一区二区视频| 98精品久久久久久久| 欧美双性人妖o0| 欧美三级中文字| 俺来俺也去www色在线观看| 日韩亚洲视频| 国产91精品一区二区麻豆网站| 探花国产精品一区二区| 欧美日韩不卡合集视频| 国产亚洲一区二区三区啪| 中文字幕avav| 在线观看91精品国产入口| 精品精品导航| 在线综合视频网站| 91亚洲精品乱码久久久久久蜜桃| 一级成人免费视频| 热99精品只有里视频精品| 欧美日韩国产成人精品| 成人免费视频入口|