亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種傳輸、解析信息的方法及裝置與流程

文檔序號(hào):12278517閱讀:229來源:國知局
本發(fā)明涉及通信
技術(shù)領(lǐng)域
,尤其涉及一種傳輸、解析信息的方法及裝置。
背景技術(shù)
:當(dāng)前有各式各樣的傳輸方式對(duì)信息進(jìn)行發(fā)送和接收,主流方法是通過wifi、藍(lán)牙、蜂窩數(shù)據(jù)等方式來傳遞數(shù)據(jù)。這些傳遞方式要么需要建立網(wǎng)絡(luò)連接才能傳輸、要么兩個(gè)終端之間要連接才能傳輸。技術(shù)實(shí)現(xiàn)要素:針對(duì)現(xiàn)有技術(shù)存在的問題,本發(fā)明實(shí)施例提供了一種傳輸、解析信息的方法及裝置,用于解決現(xiàn)有技術(shù)中在傳輸信息時(shí),需要網(wǎng)絡(luò)連接,或者需要在兩個(gè)終端之間建立連接才能傳輸,導(dǎo)致傳輸過程繁瑣,操作效率降低的技術(shù)問題。本發(fā)明提供一種發(fā)送信息的方法,所述方法包括:獲取待傳輸信息的明文信息;根據(jù)第一轉(zhuǎn)換規(guī)則將所述明文信息轉(zhuǎn)換為至少一組圖像碼;通過所述至少一組圖像碼生成圖像;輸出所述圖像,以使對(duì)端設(shè)備能通過掃描所述圖像來獲取所述明文信息。上述方案中,根據(jù)第一轉(zhuǎn)換規(guī)則將所述明文信息轉(zhuǎn)換為至少一組圖像碼包括:將所述明文信息轉(zhuǎn)換為字符編碼;將所述字符編碼轉(zhuǎn)換為至少一組數(shù)字信息;確定每組數(shù)字信息的數(shù)值;確定所述數(shù)值中每個(gè)數(shù)字對(duì)應(yīng)的圖像編碼;基于所述每個(gè)數(shù)字對(duì)應(yīng)的圖像編碼及每組數(shù)字信息的數(shù)值,將所述每組數(shù)字信息轉(zhuǎn)換為相應(yīng)的圖像編碼;將相應(yīng)的圖像編碼進(jìn)行組合形成圖像碼。上述方案中,通過所述至少一組圖像碼生成圖像,包括:遍歷所述圖像碼,獲取相應(yīng)的圖像編碼,所述圖像編碼包括:第一圖像編碼及第二圖像編碼;將所述第一圖像編碼轉(zhuǎn)換為全黑圖片,將所述第二圖像編碼轉(zhuǎn)換為全白圖片,所述全黑圖片及所述全白圖片形成圖片隊(duì)列;基于所述圖片隊(duì)列建立第一圖像信息對(duì)象,并在所述第一圖像信息對(duì)象中設(shè)置每秒播放的幀數(shù)及所述全黑圖片和所述全白圖片的總幀數(shù);基于每秒播放的幀數(shù),利用圖像生成算法將所述全黑圖片和所述全白圖片的總幀數(shù)生成圖像。本發(fā)明還提供一種解析信息的方法,所述方法包括:接收并掃描圖像,獲取至少一組圖像碼;根據(jù)第二轉(zhuǎn)換規(guī)則將所述至少一組圖像碼轉(zhuǎn)換為明文信息。上述方案中,掃描圖像,獲取至少一組圖像碼,包括:以預(yù)設(shè)的周期掃描所述圖像,獲取圖片隊(duì)列;確定所述圖片隊(duì)列中的圖片顏色,所述圖片包括:全黑圖片及全白圖片;遍歷所述圖片隊(duì)列,將所述全黑圖片轉(zhuǎn)換為第一圖像編碼,將所述全白圖片轉(zhuǎn)換為第二圖像編碼;根據(jù)所述第一圖像編碼及所述第二圖像編碼確定相應(yīng)的圖像編碼;將所述圖像編碼進(jìn)行組合獲取所述至少一組圖像碼。上述方案中,確定所述隊(duì)列中的圖片顏色包括:獲取當(dāng)前圖片的顏色值;確定全黑圖片的第一標(biāo)準(zhǔn)顏色值,確定全白圖片的第二標(biāo)準(zhǔn)顏色值;計(jì)算所述顏色值與第一標(biāo)準(zhǔn)顏色值的第一差值的絕對(duì)值,及所述顏色值與所述第二標(biāo)準(zhǔn)顏色值的第二差值的絕對(duì)值;根據(jù)所述第一差值的絕對(duì)值與所述第二差值的絕對(duì)值確定所述當(dāng)前圖片的顏色。上述方案中,根據(jù)第二轉(zhuǎn)換規(guī)則將所述至少一組圖像碼轉(zhuǎn)換為明文信息包括:將所述至少一組圖像碼轉(zhuǎn)換為數(shù)字信息;將所述數(shù)字信息轉(zhuǎn)換為字符編碼;將所述字符編碼轉(zhuǎn)換為所述明文信息。上述方案中,將所述至少一組圖像碼轉(zhuǎn)換為數(shù)字信息,包括:根據(jù)預(yù)設(shè)的提取規(guī)則,將所述圖像碼拆分為至少一組圖像編碼;確定每個(gè)數(shù)字對(duì)應(yīng)的圖像編碼;基于所述每個(gè)數(shù)字對(duì)應(yīng)的圖像編碼及每組圖像編碼,將圖像編碼轉(zhuǎn)換為所述數(shù)字信息。本發(fā)明提供一種發(fā)送信息的裝置,所述裝置包括:獲取單元,用于獲取待傳輸信息的明文信息;第一轉(zhuǎn)換單元,用于根據(jù)第一轉(zhuǎn)換規(guī)則將所述數(shù)字信息轉(zhuǎn)換為至少一組圖像碼;生成單元,用于通過所述至少一組圖像碼生成圖像;輸出單元,用于輸出所述圖像,以使對(duì)端設(shè)備可以通過掃描所述圖像來獲取所述明文信息。本發(fā)明還提供一種解析信息的裝置,所述裝置包括:接收單元,用于接收圖像;掃描單元,用于掃描所述圖像,獲取至少一組圖像碼;第二轉(zhuǎn)換單元,用于根據(jù)第二轉(zhuǎn)換規(guī)則將所述至少一組圖像碼轉(zhuǎn)換為明文信息。本發(fā)明提供了一種傳輸、解析信息的方法及裝置,所述傳輸方法包括:獲取待傳輸信息的明文信息;根據(jù)第一轉(zhuǎn)換規(guī)則將所述明文信息轉(zhuǎn)換為至少一組圖像碼;通過所述至少一組圖像碼生成圖像;輸出所述圖像,以使對(duì)端設(shè)備能通過掃描所述圖像來獲取所述明文信息;如此,將信息轉(zhuǎn)換為圖像后,接收信息的終端無需與發(fā)送信息的終端建立任何連接,也無需任何網(wǎng)絡(luò)連接,只需利用接收端的攝像頭掃描該圖像,即可獲取明文信息,這樣就減少了數(shù)據(jù)傳輸?shù)姆爆嵭?,提高了操作效率。附圖說明圖1為本發(fā)明實(shí)施例一提供的傳輸信息的方法流程示意圖;圖2為本發(fā)明實(shí)施例二提供的解析信息的方法流程示意圖;圖3為本發(fā)明實(shí)施例三提供的傳輸信息的裝置結(jié)構(gòu)示意圖;圖4為本發(fā)明實(shí)施例四提供的解析信息的裝置結(jié)構(gòu)示意圖。具體實(shí)施方式為了解決現(xiàn)有技術(shù)中在傳輸信息時(shí),需要網(wǎng)絡(luò)連接,或者需要在兩個(gè)終端之間建立連接才能傳輸,導(dǎo)致傳輸過程繁瑣,操作效率降低的技術(shù)問題,本發(fā)明提供了一種傳輸、解析信息的方法及裝置,所述傳輸方法包括:獲取待傳輸信息的明文信息;根據(jù)第一轉(zhuǎn)換規(guī)則將所述明文信息轉(zhuǎn)換為至少一組圖像碼;通過所述至少一組圖像碼生成圖像;輸出所述圖像,以使對(duì)端設(shè)備能通過掃描所述圖像來獲取所述明文信息。下面通過附圖及具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)說明。實(shí)施例一本實(shí)施例提供一種傳輸信息的方法,如圖1所示,所述方法包括:S101,獲取待傳輸信息的明文信息。本步驟中,在對(duì)信息傳輸之前,首先需要獲取待傳輸信息的明文信息,所述待傳輸信息可以是通過用戶輸入獲取,也可以是系統(tǒng)直接給予;所述待傳輸信息可以包括:文字信息、圖片信息等。S102,根據(jù)第一轉(zhuǎn)換規(guī)則將所述數(shù)字信息轉(zhuǎn)換為至少一組圖像碼。本步驟中,獲取到待傳輸信息的明文信息后,根據(jù)第一轉(zhuǎn)換規(guī)則將所述數(shù)字信息轉(zhuǎn)換為至少一組圖像碼。具體地,由于明文信息有各種編碼的信息,有可能會(huì)有中文,英文,其他文字,為了將各國文字都可以轉(zhuǎn)為統(tǒng)一的編碼格式,防止出現(xiàn)亂碼,或者識(shí)別不到的情況,將所述明文信息統(tǒng)一轉(zhuǎn)換為字符編碼。本實(shí)施例中,具體是將所述明文信息轉(zhuǎn)為base64編碼,base64編碼要求把3個(gè)8位字節(jié)(3*8=24)轉(zhuǎn)化為4個(gè)6位的字節(jié)(4*6=24),之后在6位的前面補(bǔ)兩個(gè)0,形成8位一個(gè)字節(jié)的形式。如果剩下的字符不足3個(gè)字節(jié),則用0填充,輸出字符使用'=',因此編碼后輸出的文本末尾可能會(huì)出現(xiàn)1或2個(gè)'='。所以,將明文信息轉(zhuǎn)換為字符編碼后,將會(huì)出現(xiàn)英文字母,數(shù)字,+,/,=這些字符的混合字符串編碼。將所述明文信息統(tǒng)一轉(zhuǎn)換為字符編碼后,因本實(shí)施例中是需要將字符編碼轉(zhuǎn)換為顏色值來填充圖像的,因此本步驟中還需將字符編碼轉(zhuǎn)換為相應(yīng)的數(shù)字信息,所述數(shù)字信息是指具體的數(shù)值。本發(fā)明中是通過將base64編碼轉(zhuǎn)為unicode編碼,因unicode編碼格式的字符串是一個(gè)設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編碼,因此unicode編碼是一段數(shù)字。這里,由于base64編碼是由英文字母,數(shù)字和+,/,=組成的,因此不存在將其轉(zhuǎn)換為unicode后會(huì)超出計(jì)算機(jī)二進(jìn)制最大數(shù)值65535的情況,因此,所有轉(zhuǎn)為unicode的編碼都將是小于65535的。將字符編碼轉(zhuǎn)換為數(shù)字信息后,每個(gè)字符編碼都會(huì)對(duì)應(yīng)一組數(shù)字信息,根據(jù)第一轉(zhuǎn)換規(guī)則將所述數(shù)字信息轉(zhuǎn)換為至少一組圖像碼。具體地,以其中一組數(shù)字信息來說,首先確定所述數(shù)字信息的數(shù)值;確定每個(gè)數(shù)字對(duì)應(yīng)的圖像編碼;基于所述每個(gè)數(shù)字對(duì)應(yīng)的圖像編碼及每組數(shù)字信息的數(shù)值,將所述每組數(shù)字信息轉(zhuǎn)換為相應(yīng)的圖像編碼;將相應(yīng)的圖像編碼進(jìn)行組合形成圖像碼。本實(shí)施例中,所述圖像編碼可以包括摩爾斯編碼,摩爾斯編碼是通過點(diǎn)、劃、點(diǎn)和劃之間的停頓、每個(gè)字符間短的停頓(在點(diǎn)和劃之間)、每個(gè)詞之間中等的停頓以及句子之間長的停頓來表達(dá)一連串字符的。在確定每個(gè)數(shù)字對(duì)應(yīng)的圖像編碼時(shí),只需確定出0~9對(duì)應(yīng)的摩爾斯編碼即可,如表1所示:表1字符摩爾斯碼0-----1.----2..---3...--4....-5.....6-....7--...8---..9----...-.-.-從表1中可以看出,每個(gè)數(shù)字由5位摩爾斯編碼組成,在每組數(shù)字之間使用3個(gè)等待信號(hào)來表示間隔,所述等待信號(hào)可以用“.”來表示,這樣就可以把所有數(shù)字信息轉(zhuǎn)換為摩爾斯編碼字符串了,即最終的圖像碼。比如,兩組數(shù)字?jǐn)?shù)字信息為“56和12”,按照上述的邏輯可以將“56”轉(zhuǎn)換為摩爾斯編碼為“.....-....”;將“12”轉(zhuǎn)換為摩爾斯編碼為“.----..---”;那么將“56和12”的摩爾斯編碼進(jìn)行組合即得到最終的摩爾斯編碼字符串,即圖像碼“.....-........----..---”。S103,通過所述至少一組圖像碼生成圖像。本步驟中,在獲取到圖像碼后,整個(gè)圖像碼只有“.”和“-”兩個(gè)字符,且這兩個(gè)字符之間的時(shí)間間隔可以為10ms。在通過所述至少一組圖像碼生成圖像時(shí),首先遍歷所述圖像碼,獲取相應(yīng)的圖像編碼,所述相應(yīng)的圖像編碼是指每組數(shù)字信息對(duì)應(yīng)的圖像編碼,所述圖像編碼包括第一圖像編碼及第二圖像編碼;這里,所述第一圖像編碼可以是“.”,第二圖像編碼可以是“-”。這里,將“.”代表滅,“-”代表亮;因此,可以使用全黑圖片代指“.”,用全白圖片代指“-”,這樣就將所述第一圖像編碼轉(zhuǎn)換為全黑圖片,將所述第二圖像編碼轉(zhuǎn)換為全白圖片了;且全黑圖片與全白圖片變換間隔為100ms。將所述第一圖像編碼全部轉(zhuǎn)換為全黑圖片,將所述第二圖像編碼全部轉(zhuǎn)換為全白圖片后,所述全黑圖片及所述全白圖片可以一圖片隊(duì)列,這樣就形成了一個(gè)以摩爾斯編碼為基準(zhǔn)的圖片隊(duì)列。然后,基于所述圖片隊(duì)列建立一個(gè)DefaultMovieInfoProvider第一圖像信息對(duì)象,確定每秒播放的幀數(shù),并將每秒播放的幀數(shù)通過setFPS(100)設(shè)置在所述第一圖像信息對(duì)象中。這里,所述每秒播放的幀數(shù)是由圖像碼的長度信息來確定的,所述圖像碼是指摩爾斯編碼,因此將每秒播放的幀數(shù)設(shè)置為10幀。當(dāng)將每秒播放的幀數(shù)設(shè)置好之后,確定所述全黑圖片和所述全白圖片的總幀數(shù),并將總幀數(shù)設(shè)置在圖像對(duì)象信息中;這里,所述總幀數(shù)是根據(jù)圖像碼的總位數(shù)確定的,通過setNumberOfFrames(jpgs.length);來設(shè)置總幀數(shù)。當(dāng)總幀數(shù)設(shè)置完之后,在第一圖像對(duì)象信息中設(shè)置圖像的寬度和高度,所述寬度和高度可以根據(jù)不同的需求進(jìn)行設(shè)定,本實(shí)施例中為了確保終端攝像頭可以準(zhǔn)確識(shí)別圖像,默認(rèn)將寬度和高度設(shè)置為60*60。將上述信息設(shè)置好之后,基于每秒播放的幀數(shù),利用圖像生成算法將所述全黑圖片和所述全白圖片的總幀數(shù)生成圖像。具體地,可以使用java中的Jim2Mov方法來轉(zhuǎn)換圖像,首先新建一個(gè)Jim2Mov文件夾,將上述的圖片隊(duì)列傳入所述文件夾中,然后調(diào)用圖像生成算法saveMovie(MovieInfoProvider.TYPE_AVI_MJPEG);開始讀取總幀數(shù),生成圖像。當(dāng)然,在獲取到圖像碼后,通過所述至少一組圖像碼生成圖像還可以包括:確定所述第一圖像編碼對(duì)應(yīng)的第一亮度值及所述第二圖像編碼對(duì)應(yīng)的第二亮度值;建立第二圖像信息對(duì)象,并在所述第二圖像信息對(duì)象中設(shè)置一控制對(duì)象;根據(jù)所述第一亮度值及所述第二亮度值在所述第二圖像信息對(duì)象中控制所述控制對(duì)象的閃動(dòng)亮度及不同亮度的閃動(dòng)頻率。并且在每組圖像編碼之間也使用3個(gè)等待信號(hào)來表示間隔。S104,輸出所述圖像,以使對(duì)端設(shè)備可以通過掃描所述圖像來獲取所述明文信息。本步驟中,生成所述圖像后,將圖像輸出,以使對(duì)端設(shè)備可以通過掃描所述圖像來獲取所述明文信息。所述圖像可以為單一圖片,也可以為視頻。對(duì)端設(shè)備只需要通過帶有本發(fā)明客戶端的終端進(jìn)行掃描該圖像即可得到明文信息。比如對(duì)端設(shè)備可以在直播視頻時(shí)進(jìn)行加密互動(dòng),也可以在任意地方播放,由于該圖像尺寸比較小,因此可以在播放其他視頻的時(shí)候,選取一個(gè)邊角來播放該圖像。實(shí)施例二本實(shí)施例提供一種解析信息的方法,如圖2所示,所述方法包括:S201,接收并掃描圖像,獲取至少一組圖像碼。本步驟中,因全黑圖片與全白圖片之間的變換間隔為100ms,因此接收端在掃描圖像時(shí),在攝像頭的流中每隔100ms提取一次圖片,當(dāng)提取完畢之后,即可獲取圖片隊(duì)列。由于本實(shí)施例中使用的是黑色和白色兩種圖片,而兩張圖片的色差較大。而圖像在播放過程中,由于環(huán)境,溫度,顯示屏材質(zhì)等影響,攝像頭獲取的顏色并不是純粹的黑白色,因此在獲取圖片時(shí),還需確定圖片隊(duì)列中各圖片的顏色。具體地,確定圖片隊(duì)列中各圖片的顏色包括:獲取當(dāng)前圖片的顏色值;確定全黑圖片的第一標(biāo)準(zhǔn)顏色值,確定全白圖片的第二標(biāo)準(zhǔn)顏色值;計(jì)算所述顏色值與第一標(biāo)準(zhǔn)顏色值的第一差值的絕對(duì)值,及所述顏色值與所述第二標(biāo)準(zhǔn)顏色值的第二差值的絕對(duì)值;根據(jù)所述第一差值的絕對(duì)值與所述第二差值的絕對(duì)值確定所述當(dāng)前圖片的顏色。根據(jù)所述第一差值的絕對(duì)值與所述第二差值的絕對(duì)值確定所述當(dāng)前圖片的顏色,包括:當(dāng)?shù)谝徊钪档慕^對(duì)值小于第二差值的絕對(duì)值時(shí),將當(dāng)前圖片的顏色確定為黑色;當(dāng)?shù)谝徊钪档慕^對(duì)值大于第二差值的絕對(duì)值時(shí),將當(dāng)前圖片的顏色確定為白色。在獲取當(dāng)前圖片的顏色值時(shí),可以利用bitmap.getPixel();方法來獲取。這里,因?yàn)樵贏ndroid設(shè)備上,所述圖片通常是由紅(R)、綠(G)、藍(lán)(B)三種顏色組成,RGB三種顏色分別表示出來,因此本實(shí)施例中所述圖片的顏色值是指RGB顏色值,每種顏色是有255種階層。這里,讀取圖片的RGB顏色值的代碼如下:intcolor=bitmap.getPixel(x,y);//獲取當(dāng)前點(diǎn)的顏色信息intr=Color.red(color);//分析出顏色中的R的值intg=Color.green(color);//分析出顏色中的G的值intb=Color.blue(color);//分析出顏色中的B的值用以上代碼可以得到每個(gè)圖片的RGB顏色值。這樣,就可以將圖片隊(duì)列中的圖片顏色準(zhǔn)確確定出,得到黑色、全白圖片的圖片隊(duì)列。進(jìn)一步地,建立一個(gè)字符串隊(duì)列,再使用Android編碼中的for循環(huán)遍歷所述圖片隊(duì)列,在遍歷時(shí),獲取到圖片時(shí),判斷所述圖片是白色還是黑色,確定圖片是白色或黑色后,將所述全黑圖片轉(zhuǎn)換為第一圖像編碼,將所述全白圖片轉(zhuǎn)換為第二圖像編碼;本實(shí)施例中,所述第一圖像編碼與所述第二圖像編碼是摩爾斯編碼。所述摩爾斯編碼只有“.”和“-”兩個(gè)字符,將“.”代表滅,“-”代表亮,因此所述第一圖像編碼可以是“.”,第二圖像編碼可以是“-”。獲取到第一圖像編碼及第二圖像編碼后,根據(jù)所述第一圖像編碼及所述第二圖像編碼確定相應(yīng)的圖像編碼;將所述圖像編碼進(jìn)行組合獲取所述至少一組圖像碼。S202,根據(jù)第二轉(zhuǎn)換規(guī)則將所述至少一組圖像碼轉(zhuǎn)換為明文信息。本步驟中,在獲取到所有圖片對(duì)應(yīng)的圖像碼后,首先根據(jù)第二轉(zhuǎn)換規(guī)則將所述至少一組圖像碼轉(zhuǎn)換為數(shù)字信息,包括:根據(jù)預(yù)設(shè)的提取規(guī)則,將所述圖像碼拆分為至少一組圖像編碼,確定每個(gè)數(shù)字對(duì)應(yīng)的圖像編碼。本實(shí)施例中,所述圖像編碼可以包括摩爾斯編碼,摩爾斯編碼是通過點(diǎn)、劃、點(diǎn)和劃之間的停頓、每個(gè)字符間短的停頓(在點(diǎn)和劃之間)、每個(gè)詞之間中等的停頓以及句子之間長的停頓來表達(dá)一連串字符的。在確定每個(gè)數(shù)字對(duì)應(yīng)的圖像編碼時(shí),只需確定出0~9對(duì)應(yīng)的摩爾斯編碼即可,如表1所示:表1字符摩爾斯碼0-----1.----2..---3...--4....-5.....6-....7--...8---..9----...-.-.-從表1中可以看出,每個(gè)數(shù)字由5位摩爾斯編碼組成,并在每組數(shù)字之間使用3個(gè)等待信號(hào)來表示間隔,所述等待信號(hào)可以用“.”來表示。所以提取規(guī)可以為:在每組圖像碼中每間隔5個(gè)字符提取一次,以獲取至少一組圖像編碼。這樣,在每組圖像編碼中每間隔5個(gè)字符提取一次,根據(jù)表1查詢該字符對(duì)應(yīng)的數(shù)字,在查詢完畢后將得到由數(shù)字和等待信號(hào)“.”組成的字符串。得到該字符串后,將以等待信號(hào)“.”為界線來切割字符串,得到一組組由數(shù)字組成的數(shù)據(jù)就,這樣可以基于所述每個(gè)數(shù)字對(duì)應(yīng)的圖像編碼及每組圖像編碼,將圖像編碼轉(zhuǎn)換為數(shù)字信息了。比如圖像碼為“.....-........----..---”,將所述圖像碼拆分為圖像編碼分別為:“.....-....”…“.----..---”;根據(jù)表1可知,圖像編碼對(duì)應(yīng)的數(shù)字分別為56、三個(gè)等待信號(hào)“…”及12;最后可知,數(shù)字信息即為56和12。本實(shí)施例中,因unicode編碼格式的字符串是一個(gè)設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編碼,因此unicode編碼是一段數(shù)字。所以本實(shí)施例是將圖像碼轉(zhuǎn)換為unicode編碼實(shí)現(xiàn)圖像碼到數(shù)字信息的轉(zhuǎn)換。當(dāng)獲取到數(shù)字信息后,還需要將數(shù)字信息轉(zhuǎn)換為字符編碼,具體是將unicode編碼轉(zhuǎn)換為base64的編碼:unicode編碼轉(zhuǎn)換成base64的編碼,使用的方法如下:使用上述代碼,返回的數(shù)據(jù)就是Base64的字符編碼數(shù)據(jù)了。在獲取到字符編碼后,可以利用代碼:Base64.encodeToString(str.getBytes(),Base64.DEFAULT);就可以將Base64的字符編碼轉(zhuǎn)換為明文信息了。這樣,就完成了解析過程。實(shí)施例三相應(yīng)于實(shí)施例二,本實(shí)施例提供一種傳輸信息的裝置,如圖3所示,所述裝置包括:所述裝置包括:獲取單元31、第一轉(zhuǎn)換單元32、生成單元33、輸出單元34;其中,所述獲取單元31用于獲取待傳輸信息的明文信息。具體地,在對(duì)信息傳輸之前,首先需要獲取待傳輸信息的明文信息,所述待傳輸信息可以是通過用戶輸入獲取,也可以是系統(tǒng)直接給予;所述待傳輸信息包括文字信息。當(dāng)所述獲取單元31獲取到明文信息后,所述第一轉(zhuǎn)換單元32用于根據(jù)第一轉(zhuǎn)換規(guī)則將所述數(shù)字信息轉(zhuǎn)換為至少一組圖像碼;具體地,由于明文信息有各種編碼的信息,有可能會(huì)有中文,英文,其他文字,為了將各國文字都可以轉(zhuǎn)為統(tǒng)一的編碼格式,防止出現(xiàn)亂碼,或者識(shí)別不到的情況,所述第一轉(zhuǎn)換單元32首先將所述明文信息統(tǒng)一轉(zhuǎn)換為字符編碼。本實(shí)施例中,第一轉(zhuǎn)換單元32是將所述明文信息轉(zhuǎn)為base64編碼,base64編碼要求把3個(gè)8位字節(jié)(3*8=24)轉(zhuǎn)化為4個(gè)6位的字節(jié)(4*6=24),之后在6位的前面補(bǔ)兩個(gè)0,形成8位一個(gè)字節(jié)的形式。如果剩下的字符不足3個(gè)字節(jié),則用0填充,輸出字符使用'=',因此編碼后輸出的文本末尾可能會(huì)出現(xiàn)1或2個(gè)'='。所以,將明文信息轉(zhuǎn)換為字符編碼后,將會(huì)出現(xiàn)英文字母,數(shù)字,+,/,=這些字符的混合字符串編碼。當(dāng)所述第一轉(zhuǎn)換單元32將明文信息統(tǒng)一轉(zhuǎn)換為字符編碼后,還用于將所述字符編碼轉(zhuǎn)換為相應(yīng)的數(shù)字信息;具體地,因本實(shí)施例中是需要將字符編碼轉(zhuǎn)換為顏色值來填充圖像的,因此所述第一轉(zhuǎn)換單元32還需將字符編碼轉(zhuǎn)換為相應(yīng)的數(shù)字信息,所述數(shù)字信息是指具體的數(shù)值。本發(fā)明中是通過將base64編碼轉(zhuǎn)為unicode編碼,因unicode編碼格式的字符串是一個(gè)設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編碼,因此unicode編碼是一段數(shù)字。這里,由于base64編碼是由英文字母,數(shù)字和+,/,=組成的,因此不存在將其轉(zhuǎn)換為unicode后會(huì)超出計(jì)算機(jī)二進(jìn)制最大數(shù)值65535的情況,因此,所有轉(zhuǎn)為unicode的編碼都將是小于65535的。當(dāng)所述第一轉(zhuǎn)換單元32將所述字符編碼轉(zhuǎn)換為相應(yīng)的數(shù)字信息后,每個(gè)字符編碼都會(huì)對(duì)應(yīng)一組數(shù)字信息,還用于根據(jù)第一轉(zhuǎn)換規(guī)則將所述數(shù)字信息轉(zhuǎn)換為至少一組圖像碼。具體地,以其中一組數(shù)字信息來說,所述第一轉(zhuǎn)換單元32首先確定所述數(shù)字信息的數(shù)值;確定每個(gè)數(shù)字對(duì)應(yīng)的圖像編碼;基于所述每個(gè)數(shù)字對(duì)應(yīng)的圖像編碼及每組數(shù)字信息的數(shù)值,將所述每組數(shù)字信息轉(zhuǎn)換為相應(yīng)的圖像編碼;將相應(yīng)的圖像編碼進(jìn)行組合形成圖像碼。本實(shí)施例中,所述圖像編碼可以包括摩爾斯編碼,摩爾斯編碼是通過點(diǎn)、劃、點(diǎn)和劃之間的停頓、每個(gè)字符間短的停頓(在點(diǎn)和劃之間)、每個(gè)詞之間中等的停頓以及句子之間長的停頓來表達(dá)一連串字符的。在確定每個(gè)數(shù)字對(duì)應(yīng)的圖像編碼時(shí),只需確定出0~9對(duì)應(yīng)的摩爾斯編碼即可,如表1所示:表1字符摩爾斯碼0-----1.----2..---3...--4....-5.....6-....7--...8---..9----...-.-.-從表1中可以看出,每個(gè)數(shù)字由5位摩爾斯編碼組成,在每組數(shù)字之間使用3個(gè)等待信號(hào)來表示間隔,所述等待信號(hào)可以用“.”來表示,這樣所述第一轉(zhuǎn)換單元32就可以把所有數(shù)字信息轉(zhuǎn)換為摩爾斯編碼字符串了,即最終的圖像碼。比如,兩組數(shù)字?jǐn)?shù)字信息為“56和12”,按照上述的邏輯可以將“56”轉(zhuǎn)換為摩爾斯編碼為“.....-....”;將“12”轉(zhuǎn)換為摩爾斯編碼為“.----..---”;那么將“56和12”的摩爾斯編碼進(jìn)行組合即得到最終的摩爾斯編碼字符串,即圖像碼“.....-........----..---”。所述第一轉(zhuǎn)換單元32將數(shù)字信息轉(zhuǎn)換為圖像碼后,所述生成單元33用于通過所述至少一組圖像碼生成圖像。具體地,在獲取到圖像碼后,整個(gè)圖像碼只有“.”和“-”兩個(gè)字符,且這兩個(gè)字符之間的時(shí)間間隔可以為10ms。所述生成單元35在通過所述至少一組圖像碼生成圖像時(shí),首先遍歷所述圖像碼,獲取相應(yīng)的圖像編碼,所述相應(yīng)的圖像編碼是指每組數(shù)字信息對(duì)應(yīng)的圖像編碼,所述圖像編碼包括第一圖像編碼及第二圖像編碼;這里,所述第一圖像編碼可以是“.”,第二圖像編碼可以是“-”。這里,將“.”代表滅,“-”代表亮;因此,可以使用全黑圖片代指“.”,用全白圖片代指“-”,這樣就將所述第一圖像編碼轉(zhuǎn)換為全黑圖片,將所述第二圖像編碼轉(zhuǎn)換為全白圖片了;且全黑圖片與全白圖片變換間隔為100ms。將所述第一圖像編碼全部轉(zhuǎn)換為全黑圖片,將所述第二圖像編碼全部轉(zhuǎn)換為全白圖片后,將獲得一圖片隊(duì)列,這樣就形成了一個(gè)以摩爾斯編碼為基準(zhǔn)的圖片隊(duì)列。然后,所述生成單元33基于所述圖片隊(duì)列建立一個(gè)DefaultMovieInfoProvider第一圖像信息對(duì)象,確定每秒播放的幀數(shù),并將每秒播放的幀數(shù)通過setFPS(100)設(shè)置在所述第一圖像信息對(duì)象中。這里,所述每秒播放的幀數(shù)是由圖像碼的長度信息來確定的,所述圖像碼是指摩爾斯編碼,因此將每秒播放的幀數(shù)設(shè)置為10幀。當(dāng)將每秒播放的幀數(shù)設(shè)置好之后,確定所述全黑圖片和所述全白圖片的總幀數(shù),并將總幀數(shù)設(shè)置在圖像對(duì)象信息中;這里,所述總幀數(shù)是根據(jù)圖像碼的總位數(shù)確定的,通過setNumberOfFrames(jpgs.length);來設(shè)置總幀數(shù)。當(dāng)總幀數(shù)設(shè)置完之后,在第一圖像對(duì)象信息中設(shè)置圖像的寬度和高度,所述寬度和高度可以根據(jù)不同的需求進(jìn)行設(shè)定,本實(shí)施例中為了確保終端攝像頭可以準(zhǔn)確識(shí)別圖像,默認(rèn)將寬度和高度設(shè)置為60*60。將上述信息設(shè)置好之后,基于每秒播放的幀數(shù),生成單元33利用圖像生成算法將所述全黑圖片和所述全白圖片的總幀數(shù)生成圖像。具體地,可以使用java中的Jim2Mov方法來轉(zhuǎn)換圖像,首先新建一個(gè)Jim2Mov文件夾,將上述的圖片隊(duì)列傳入所述文件夾中,然后調(diào)用圖像生成算法saveMovie(MovieInfoProvider.TYPE_AVI_MJPEG);開始讀取總幀數(shù),生成圖像。當(dāng)然,在獲取到圖像碼后,通過所述至少一組圖像碼生成圖像還可以包括:生成單元33確定所述第一圖像編碼對(duì)應(yīng)的第一亮度值及所述第二圖像編碼對(duì)應(yīng)的第二亮度值;建立第二圖像信息對(duì)象,并在所述第二圖像信息對(duì)象中設(shè)置一控制對(duì)象;根據(jù)所述第一亮度值及所述第二亮度值在所述第二圖像信息對(duì)象中控制所述控制對(duì)象的閃動(dòng)亮度及不同亮度的閃動(dòng)頻率。并且在每組圖像編碼之間也使用3個(gè)等待信號(hào)來表示間隔。圖像生成后,所述輸出單元34用于輸出所述圖像,以使對(duì)端設(shè)備可以通過掃描所述圖像來獲取所述明文信息。所述圖像可以為單一圖片,也可以為視頻。對(duì)端設(shè)備只需要通過帶有本發(fā)明客戶端的終端進(jìn)行掃描該圖像即可得到明文信息。比如對(duì)端設(shè)備可以在直播視頻時(shí)進(jìn)行加密互動(dòng),也可以在任意地方播放,由于該圖像尺寸比較小,因此可以在播放其他視頻的時(shí)候,選取一個(gè)邊角來播放該圖像。實(shí)施例四相應(yīng)于實(shí)施例二,本實(shí)施例提供一種解析信息的裝置,如圖4所示,所述裝置包括:接收單元41、掃描單元42及第二轉(zhuǎn)換單元43;其中,所述接收單元41用于接收圖像,所述圖像可以為單一圖片,也可以為視頻。掃描單元42用于掃描圖像,獲取至少一組圖像碼。具體地,因全黑圖片與全白圖片之間的變換間隔為100ms,因此掃描單元42在掃描圖像時(shí),在攝像頭的流中每隔100ms提取一次圖片,當(dāng)提取完畢之后,即可獲取圖片隊(duì)列。由于本實(shí)施例中使用的是黑色和白色兩種圖片,而兩張圖片的色差較大。而圖像在播放過程中,由于環(huán)境,溫度,顯示屏材質(zhì)等影響,攝像頭獲取的顏色并不是純粹的黑白色,因此在獲取圖片時(shí),還需確定圖片隊(duì)列中各圖片的顏色。具體地,確定圖片隊(duì)列中各圖片的顏色包括:獲取當(dāng)前圖片的顏色值;確定全黑圖片的第一標(biāo)準(zhǔn)顏色值,確定全白圖片的第二標(biāo)準(zhǔn)顏色值;計(jì)算所述顏色值與第一標(biāo)準(zhǔn)顏色值的第一差值的絕對(duì)值,及所述顏色值與所述第二標(biāo)準(zhǔn)顏色值的第二差值的絕對(duì)值;根據(jù)所述第一差值的絕對(duì)值與所述第二差值的絕對(duì)值確定所述當(dāng)前圖片的顏色。根據(jù)所述第一差值的絕對(duì)值與所述第二差值的絕對(duì)值確定所述當(dāng)前圖片的顏色,包括:當(dāng)?shù)谝徊钪档慕^對(duì)值小于第二差值的絕對(duì)值時(shí),將當(dāng)前圖片的顏色確定為黑色;當(dāng)?shù)谝徊钪档慕^對(duì)值大于第二差值的絕對(duì)值時(shí),將當(dāng)前圖片的顏色確定為白色。在獲取當(dāng)前圖片的顏色值時(shí),可以利用bitmap.getPixel();方法來獲取。這里,因?yàn)樵贏ndroid設(shè)備上,所述圖片通常是由紅(R)、綠(G)、藍(lán)(B)三種顏色組成,RGB三種顏色分別表示出來,因此本實(shí)施例中所述圖片的顏色值是指RGB顏色值,每種顏色是有255種階層。這里,讀取圖片的RGB顏色值的代碼如下:intcolor=bitmap.getPixel(x,y);//獲取當(dāng)前點(diǎn)的顏色信息intr=Color.red(color);//分析出顏色中的R的值intg=Color.green(color);//分析出顏色中的G的值intb=Color.blue(color);//分析出顏色中的B的值用以上代碼可以得到每個(gè)圖片的RGB顏色值。這樣,掃描單元42就可以將圖片隊(duì)列中的圖片顏色準(zhǔn)確確定出,得到黑色、全白圖片的圖片隊(duì)列。進(jìn)一步地,掃描單元42建立一個(gè)字符串隊(duì)列,再使用Android編碼中的for循環(huán)遍歷所述圖片隊(duì)列,在遍歷時(shí),獲取到圖片時(shí),判斷所述圖片是白色還是黑色,確定圖片是白色或黑色后,將所述全黑圖片轉(zhuǎn)換為第一圖像編碼,將所述全白圖片轉(zhuǎn)換為第二圖像編碼;本實(shí)施例中,所述第一圖像編碼與所述第二圖像編碼是摩爾斯編碼。所述摩爾斯編碼只有“.”和“-”兩個(gè)字符,將“.”代表滅,“-”代表亮,因此所述第一圖像編碼可以是“.”,第二圖像編碼可以是“-”。當(dāng)掃描單元42獲取到第一圖像編碼及第二圖像編碼后,根據(jù)所述第一圖像編碼及所述第二圖像編碼確定相應(yīng)的圖像編碼;將所述圖像編碼進(jìn)行組合獲取所述至少一組圖像碼。當(dāng)掃描單元42獲取到圖像碼后,所述第二轉(zhuǎn)換單元43用于根據(jù)第二轉(zhuǎn)換規(guī)則將所述至少一組圖像碼轉(zhuǎn)換為明文信息。具體地,所述第二轉(zhuǎn)換單元43將所述至少一組圖像碼轉(zhuǎn)換為數(shù)字信息,包括:根據(jù)預(yù)設(shè)的提取規(guī)則,將所述圖像碼拆分為至少一組圖像編碼,確定每個(gè)數(shù)字對(duì)應(yīng)的圖像編碼。本實(shí)施例中,所述圖像編碼可以包括摩爾斯編碼,摩爾斯編碼是通過點(diǎn)、劃、點(diǎn)和劃之間的停頓、每個(gè)字符間短的停頓(在點(diǎn)和劃之間)、每個(gè)詞之間中等的停頓以及句子之間長的停頓來表達(dá)一連串字符的。在確定每個(gè)數(shù)字對(duì)應(yīng)的圖像編碼時(shí),只需確定出0~9對(duì)應(yīng)的摩爾斯編碼即可,如表1所示:表1從表1中可以看出,每個(gè)數(shù)字由5位摩爾斯編碼組成,并在每組數(shù)字之間使用3個(gè)等待信號(hào)來表示間隔,所述等待信號(hào)可以用“.”來表示。所以提取規(guī)可以為:在每組圖像碼中每間隔5個(gè)字符提取一次,以獲取至少一組圖像編碼。這樣,在每組圖像編碼中每間隔5個(gè)字符提取一次,根據(jù)表1查詢該字符對(duì)應(yīng)的數(shù)字,在查詢完畢后將得到由數(shù)字和等待信號(hào)“.”組成的字符串。得到該字符串后,將以等待信號(hào)“.”為界線來切割字符串,得到一組組由數(shù)字組成的數(shù)據(jù)就,這樣可以基于所述每個(gè)數(shù)字對(duì)應(yīng)的圖像編碼及每組圖像編碼,將圖像編碼轉(zhuǎn)換為數(shù)字信息了。比如圖像碼為“.....-........----..---”,將所述圖像碼拆分為圖像編碼分別為:“.....-....”…“.----..---”;根據(jù)表1可知,圖像編碼對(duì)應(yīng)的數(shù)字分別為56、三個(gè)等待信號(hào)“…”及12;最后可知,數(shù)字信息即為56和12。本實(shí)施例中,因unicode編碼格式的字符串是一個(gè)設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編碼,因此unicode編碼是一段數(shù)字。所以本實(shí)施例是將圖像碼轉(zhuǎn)換為unicode編碼實(shí)現(xiàn)圖像碼到數(shù)字信息的轉(zhuǎn)換。當(dāng)獲取到數(shù)字信息后,第二轉(zhuǎn)換單元43還用于將所述數(shù)字信息轉(zhuǎn)換為字符編碼。具體地,本實(shí)施例中,第四轉(zhuǎn)換單元43是將unicode編碼轉(zhuǎn)換為base64的編碼:轉(zhuǎn)換代碼如下:第四轉(zhuǎn)換單元43使用上述代碼,返回的數(shù)據(jù)就是Base64的字符編碼數(shù)據(jù)了。當(dāng)獲取到字符編碼后,所述第四轉(zhuǎn)換單元43還用于將所述字符編碼轉(zhuǎn)換為所述明文信息。在獲取到字符編碼后,所述第四轉(zhuǎn)換單元43利用代碼:Base64.encodeToString(str.getBytes(),Base64.DEFAULT);就可以將Base64的字符編碼轉(zhuǎn)換為明文信息了。這樣,就完成了解析信息的過程。本發(fā)明中的一個(gè)或多個(gè)實(shí)施例帶來的有益效果是:本發(fā)明提供了一種傳輸、解析信息的方法及裝置,所述傳輸方法包括:獲取待傳輸信息的明文信息;將所述明文信息轉(zhuǎn)換為字符編碼;將所述字符編碼轉(zhuǎn)換為相應(yīng)的數(shù)字信息;根據(jù)第一轉(zhuǎn)換規(guī)則將所述數(shù)字信息轉(zhuǎn)換為至少一組圖像碼;通過所述至少一組圖像碼生成圖像,所述圖像即為對(duì)所述明文信息進(jìn)行傳輸?shù)膫鬏斀Y(jié)果;如此,將信息轉(zhuǎn)換為圖像后,接收信息的終端無需與發(fā)送信息的終端建立任何連接,也無需任何網(wǎng)絡(luò)連接,只需利用攝像頭掃描該圖像,即可獲取明文信息,這樣就減少了數(shù)據(jù)傳輸?shù)姆爆嵭?,提高了操作效率。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1