精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

91视频免费在观看| 天天夜碰日日摸日日澡性色av| 亚洲视频在线免费播放| 亚洲综合色网| 亚洲国产精品悠悠久久琪琪| 99视频精品免费| 在线观看av免费| 26uuu精品一区二区在线观看| 国产精品久久久久99| 婷婷久久综合网| 欧美黑人巨大videos精品| 欧美日韩亚洲综合| 黄色成人在线看| 一级毛片视频在线| 91丨porny丨户外露出| 成人av在线网址| 美日韩一二三区| 亚洲天堂免费| 中文在线资源观看视频网站免费不卡| 不卡的一区二区| 国产成人a视频高清在线观看| 亚洲一区视频在线| 丝袜足脚交91精品| 日本人妻丰满熟妇久久久久久| 麻豆国产欧美日韩综合精品二区 | 91在线视频免费看| 国产一区亚洲一区| 国产成人综合亚洲| av大片免费在线观看| 99久久亚洲精品| 亚洲天堂色网站| 中文字幕影片免费在线观看| 久久精品一级| 欧美系列日韩一区| 国产精品wwwww| 国产美女精品写真福利视频| 亚洲男帅同性gay1069| 日韩精品欧美一区二区三区| 欧美特级特黄aaaaaa在线看| 国产精品综合久久| 91精品国产综合久久香蕉最新版 | 校园激情久久| 欧美激情网友自拍| 国产十六处破外女视频| 日韩午夜电影网| 永久免费毛片在线播放不卡| 性久久久久久久久久| 国产精品对白| 亚洲成人激情在线观看| 黑森林av导航| 97久久综合精品久久久综合| 日韩亚洲欧美高清| 超级砰砰砰97免费观看最新一期| 色婷婷成人网| 欧美日本视频在线| 午夜精品久久久久久久99热影院| 日本在线一区二区| 欧美日韩高清一区二区三区| 天天干天天草天天| 日韩成人综合网站| 欧美一区二区三区四区视频| 伊人国产精品视频| 麻豆一区在线| 亚洲精品一区二区三区福利| 波多野结衣加勒比| 蜜桃国内精品久久久久软件9| 亚洲免费视频一区二区| 老熟妇一区二区| 欧美电影免费| 欧美成人精品在线视频| 美女毛片在线观看| 亚洲毛片av| 日本中文字幕成人| 国产精品久久久一区| 手机av在线免费| 91丨精品丨国产| 精品免费一区二区三区| 粉嫩av懂色av蜜臀av分享| 亚洲人成亚洲精品| 中文字幕亚洲专区| 亚洲国产美女视频| 99精品国产99久久久久久福利| 日本精品免费观看| 97在线公开视频| 成人av资源网站| 欧美人与性禽动交精品| 黄色网址在线免费观看| 亚洲自拍另类综合| 国产麻花豆剧传媒精品mv在线| 精品视频在线一区二区在线| 91精品国模一区二区三区| 日韩成人av影院| 精品国内自产拍在线观看视频| 久热精品视频在线| 国产农村妇女aaaaa视频| 美日韩一区二区| 国产精品一区二区在线观看| 粉嫩av一区| 一区二区三区欧美日韩| 国产极品美女高潮无套久久久| 欧美综合影院| 精品中文视频在线| 成人在线观看免费完整| 媚黑女一区二区| 91嫩草视频在线观看| 国产在线小视频| 一区二区成人在线| 日韩一级免费片| 欧美激情极品| 久久av中文字幕| 亚洲国产精品无码久久久| 国产乱码字幕精品高清av | 韩国av在线免费观看| 中文字幕不卡的av| 夫妻免费无码v看片| 国产欧美视频在线| 在线观看欧美日韩国产| 日韩av一区二区在线播放| 精品一区二区三区视频| 美日韩精品免费| a级网站在线播放| 欧美这里有精品| 中文字幕一区二区久久人妻网站 | 韩国三级大全久久网站| 亚洲欧洲在线看| 国产真实的和子乱拍在线观看| 久久国产人妖系列| 日本视频一区二区在线观看| 俺来也官网欧美久久精品| 91精品婷婷国产综合久久性色| 法国伦理少妇愉情| 亚洲精品男同| 国产高清精品一区二区三区| 免费不卡视频| 欧美揉bbbbb揉bbbbb| 中国美女乱淫免费看视频| 99热精品在线| 黄色99视频| yellow在线观看网址| 欧美男男青年gay1069videost| 亚洲黄色小说视频| 久久国产一二区| 鲁丝片一区二区三区| 超级白嫩亚洲国产第一| 亚洲成人a**站| 国产91av视频| 成人黄色在线看| 毛片在线播放视频| 久久久久97| 97在线视频国产| 四虎精品在永久在线观看 | 国产亚洲1区2区3区| heyzo国产| 亚洲男人都懂第一日本| 青青青国产精品一区二区| 日色在线视频| 一本大道久久a久久综合婷婷| 亚洲成人日韩在线| 久久影院亚洲| 亚洲精品视频一区二区三区| 成人在线观看免费播放| 色噜噜狠狠色综合网图区| 在线观看免费中文字幕| 亚洲欧洲av另类| 国产精品熟女一区二区不卡| 欧美成人午夜| 春色成人在线视频| 特黄毛片在线观看| 国产亚洲欧洲在线| 国产精品日韩无码| 亚洲一区av在线| 噜噜噜在线视频| 日韩国产欧美在线播放| 在线观看日韩片| 日韩在线成人| 538国产精品视频一区二区| 精品av中文字幕在线毛片| 欧美色国产精品| 国产黄色片在线免费观看| 不卡一区在线观看| 成人性做爰aaa片免费看不忠| 日韩深夜福利| 国产精品丝袜白浆摸在线| h片在线播放| 亚洲精品国精品久久99热一| 欧美超碰在线观看| 亚洲精品视频一区| 国产精品无码毛片| 久久福利视频一区二区| 成人免费在线网| 青青一区二区三区| 国产99午夜精品一区二区三区 | 大伊人狠狠躁夜夜躁av一区| av黄色在线免费观看| 国产尤物一区二区| 黄色片久久久久| 亚洲精品二区三区| 欧美激情第六页| 欧美不卡在线观看| 国产成人精品一区二区在线| 色呦呦在线视频| 亚洲午夜久久久久久久| 亚洲国产999| 欧美三级资源在线| 日韩三级视频在线| 日韩毛片视频在线看| 人妻丰满熟妇aⅴ无码| 极品少妇一区二区三区精品视频| 免费看一级大黄情大片| 91精品一区国产高清在线gif | 欧美视频中文字幕在线| 日本黄色片免费观看| 久久蜜桃av一区精品变态类天堂| 古装做爰无遮挡三级聊斋艳谭| 久久综合影音| 激情五月婷婷六月| 久久久久久久久丰满| 青娱乐一区二区| 黄色欧美在线| 成人午夜电影在线播放| 成人综合日日夜夜| 国产精品久久久久久久久免费 | 欧美日韩亚洲精品一区二区三区| 国产女人18水真多毛片18精品| 国产亚洲一区二区三区在线观看| 精品影片一区二区入口| 久久er99精品| 九色porny91| 亚洲永久免费精品| 欧美亚洲精品一区二区| 欧美日韩亚洲一区| 欧美日韩一区二区三区电影| 日韩三级在线| 亚洲伊人婷婷| 日韩啪啪电影网| 亚洲精品国产一区| 亚洲黄页网站| 久久精品五月婷婷| 欧美久久精品| 精品国产综合区久久久久久| av成人资源| 国产精品成人观看视频免费| 中文字幕一区日韩精品| 91精品视频免费| 3d动漫一区二区三区在线观看| 国产精品老牛影院在线观看| 亚洲不卡系列| 国产精品视频自在线| 久久精品超碰| 成人中文字幕在线观看| 国产激情一区| av成人观看| 卡通动漫精品一区二区三区| 精品国产一区二区三区麻豆免费观看完整版 | 欧美涩涩网站| www.日本三级| 亚洲黄色一区| www一区二区www免费| 香蕉成人久久| 手机看片福利日韩| 久久er99热精品一区二区| 日韩欧美中文视频| 粉嫩av一区二区三区在线播放| 日本wwwwwww| av一区二区三区| 精品无码人妻一区| 国产三级欧美三级| 国产高清视频免费在线观看| 亚洲色图欧洲色图| 国产一级一片免费播放| 欧美日韩国产色| 久久国产精品免费看| 在线免费视频一区二区| 一本一道精品欧美中文字幕| 欧美一区二区高清| 日韩一卡二卡在线| 一区二区三区国产在线观看| 3d玉蒲团在线观看| 欧美性做爰毛片| 综合久久伊人| 精品久久中出| 色婷婷亚洲mv天堂mv在影片| 欧美做暖暖视频| 奶水喷射视频一区| 免费成年人高清视频| www.色精品| 国产精品综合激情| 亚洲成a人在线观看| 日日夜夜狠狠操| 91精品国产欧美一区二区成人| 人妻精品一区一区三区蜜桃91| 亚洲天堂av网| 在线三级中文| 国产精品电影久久久久电影网| 96视频在线观看欧美| 久久国产精品一区二区三区四区| 日韩理论电影院| 日韩人妻无码精品久久久不卡| 老司机精品福利视频| 人妻精品久久久久中文字幕69| 久久日一线二线三线suv| wwwav国产| 欧美性一区二区| 男人天堂av网| 久久精品国产亚洲7777| 欧美xxxxxx| 电影午夜精品一区二区三区| 欧美精品一二| 久久久久久久中文| 国内成人精品2018免费看| 国产精品无码久久久久久| 一区二区三区免费看视频| 五月激情丁香网| 亚洲精品成人久久久| 91一区二区三区在线| 国产精品丝袜高跟| 亚洲人成精品久久久| 青青草国产免费| 精品影视av免费| 色综合99久久久无码国产精品| 亚洲高清不卡在线观看| 国产免费av观看| 一区二区欧美激情| 久久青青视频| 精品免费国产| 激情欧美一区| 久草福利在线观看| 日韩一区在线看| 最近中文字幕在线观看| 亚洲人成网在线播放| 欧美伦理91| 激情欧美一区二区三区中文字幕 | 欧美,日韩,国产在线| 国产成人精品影视| 日本老熟俱乐部h0930| 欧美日韩激情一区| 福利片在线看| 国产精品狠色婷| 国内精品久久久久久久久电影网| 国产极品在线视频| 不卡视频一二三| 亚洲精品www久久久久久| 欧美精品一区二区三区在线| 欧美黄色视屏| 国产精品香蕉视屏| 激情欧美丁香| 国产夫妻性爱视频| 欧美午夜激情视频| 日夜干在线视频| 国产成人精品日本亚洲| 国模吧精品视频| 免费激情视频在线观看| 久久精品在这里| 最新中文字幕免费| 久久精品国产视频| 亚洲成人偷拍| 日韩精品一区在线视频| www.一区二区| 337p粉嫩色噜噜噜大肥臀| 一区二区三区www| 日韩欧乱色一区二区三区在线| 婷婷视频在线播放| 国产乱对白刺激视频不卡| 免费一级a毛片夜夜看| 精品88久久久久88久久久| 麻豆网站免费在线观看| 欧美一区二区视频17c | 野战少妇38p| 欧美日韩免费看| 第一页在线观看| 91精品视频在线播放| 欧美日韩精品一本二本三本| 大乳护士喂奶hd| 在线视频国产一区| 激情成人四房播| 黑人另类av| 免费观看在线色综合| 成人免费毛片东京热| 亚洲国产精品字幕| 成人亚洲免费| 免费看欧美黑人毛片| 国产亚洲一本大道中文在线| 97精品久久人人爽人人爽| 久久久久久有精品国产| 免费视频国产一区| 精品国产乱码久久久久久1区二区| 亚洲国产裸拍裸体视频在线观看乱了| 四虎精品成人免费网站| 成人网在线观看| 国产色综合网| 日韩欧美123区| 亚洲欧美日韩国产成人| www久久久| 免费国产a级片| 综合激情成人伊人| 丝袜视频国产在线播放| 亚洲一区二区三区视频| 羞羞答答国产精品www一本| 男人在线观看视频| 亚洲免费视频网站|