[發明專利]基于Web Workers的多線程二維碼生成算法在審
| 申請號: | 202010667043.0 | 申請日: | 2020-07-13 |
| 公開(公告)號: | CN111797960A | 公開(公告)日: | 2020-10-20 |
| 發明(設計)人: | 汪金玲 | 申請(專利權)人: | 汪金玲 |
| 主分類號: | G06K19/06 | 分類號: | G06K19/06;G06F40/126;G06F16/957 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 湖南省長沙市湖南省長沙高*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 web workers 多線程 二維碼 生成 算法 | ||
1.一種基于Web Workers的多線程二維碼生成算法,其特征在于,所述方法包括:
瀏覽器端接收二維碼生成請求,并根據二維碼生成請求獲取二維碼生成數據;
針對不同數據類型的二維碼生成數據,使用不同的數據編碼方式進行編碼處理,將所述二維碼生成數據的編碼數據作為二維碼內容信息參數;
瀏覽器的JavaScript主線程獲取所述二維碼內容信息參數,以及預設的二維碼大小的參數,將所述二維碼內容信息參數和預設的二維碼參數封裝成參數對象,并實例化若干個Worker子線程;
將JavaScript主線程中的參數對象使用主線程發送函數發送給其中一個Worker子線程;
所述Worker子線程解析接收到的參數對象,從而根據解析得到的二維碼內容信息參數以及二維碼大小參數計算出對應的二維碼矩陣,并將所述二維碼矩陣發送給另一個Worker子線程;
所述Worker子線程遍歷所述二維碼矩陣,并使用SVG的rect標簽對二維碼進行渲染,以得到二維碼的SVG圖像;
將所述SVG圖像發回JavaScript主線程,并終止Worker子線程,同時所述JavaScript主線程使用內聯SVG的方式在HTML頁面直接顯示二維碼,完成二維碼的生成。
2.如權利要求1所述的基于Web Workers的多線程二維碼生成算法,其特征在于,所述根據二維碼生成請求獲取二維碼生成數據,包括:
所述二維碼生成數據為二維碼所需進行存儲的內容信息數據,所述內容信息數據的數據類型包括且不限于字母、數字、中文字符。
3.如權利要求2所述的基于Web Workers的多線程二維碼生成算法,其特征在于,所述針對不同數據類型的二維碼生成數據,使用不同的數據編碼方式進行編碼處理,包括:
對數值類型的二維碼生成數據進行劃分,每三位一組,分組后每一組當成一個新的十進制數,然后把這個十進制數轉化為10位長度的二進制數,遇到數字的位數不能被3整除的情況,即將多余的1位或者2位數字對應地轉化成4位或7位長度的二進制數,然后再按順序依次連接所有的二進制數,得到數值類型二維碼生成數據的編碼結果;
對字母類型的二維碼生成數據進行ASCII碼的轉換,以將所述字母類型的二維碼生成數據轉換為對應十進制的ASCII碼,利用所述數值類型數據的編碼方式對所轉換的十進制ASCII碼進行編碼處理,同時對編碼結果添加字母類型二維碼生成數據前綴提示符1011;及
基于中國漢字標準GB2312,每一個漢字都由兩個字節表示,每個漢字對應一個字符內碼值,根據下述兩種情況將中文字符類型的二維碼生成數據轉換為13位長度的二進制數,以實現對中文字符類型二維碼生成數據的編碼處理:
若第一字節的內碼值介于A1HEX~AAHEX之間,第二字節的內碼值介于A1HEX~FEHEX之間,則:
1)把第一字節的內碼值減去A1HEX得到結果R1;
2)將結果R1乘以60HEX得到結果R2;
3)將第二字節的內碼值減去A1HEX得到結果R3;
4)將R2與R3相加,得到結果R;
5)將所述結果R換算為13位長度的二進制編碼數。
若第一字節的內碼值介于B0HEX~FAHEX之間,第二字節的內碼值介于A1HEX~FEHEX之間,則:
1)把第一字節的內碼值減去A6HEX得到結果R1;
2)將結果R1乘以60HEX得到結果R2;
3)將第二字節的內碼值減去A1HEX得到結果R3;
4)將R2與R3相加,得到結果R;
5)將所述結果R換算為13位長度的二進制編碼數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于汪金玲,未經汪金玲許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010667043.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種板材沖壓機
- 下一篇:一種豬胴體在線分割系統





