JP2019537332A - バイナリデータをエンコード及びデコードする方法及び装置 - Google Patents

バイナリデータをエンコード及びデコードする方法及び装置 Download PDF

Info

Publication number
JP2019537332A
JP2019537332A JP2019519660A JP2019519660A JP2019537332A JP 2019537332 A JP2019537332 A JP 2019537332A JP 2019519660 A JP2019519660 A JP 2019519660A JP 2019519660 A JP2019519660 A JP 2019519660A JP 2019537332 A JP2019537332 A JP 2019537332A
Authority
JP
Japan
Prior art keywords
bit
data
byte
bytes
binary data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019519660A
Other languages
English (en)
Other versions
JP2019537332A5 (ja
JP6931050B2 (ja
Inventor
ターフォン シュイ
ターフォン シュイ
サンピン リー
サンピン リー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2019537332A publication Critical patent/JP2019537332A/ja
Publication of JP2019537332A5 publication Critical patent/JP2019537332A5/ja
Application granted granted Critical
Publication of JP6931050B2 publication Critical patent/JP6931050B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • H03M7/04Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being two
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0014Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3066Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

本出願は、バイナリデータをエンコードする方法を提供しており、方法は、kバイトの長さを有するバイナリデータを取得するステップであって、kは、自然数である、ステップと、既定のエンコードアルゴリズムを使用してkバイトのバイナリデータを(k+t)バイトの7ビットエンコード済みのデータに変換するステップであって、tは、k/7以上である最小の整数である、ステップと、を有する。本出願における技術的解決策は、Base64エンコード済みのファイルのもの未満である長さを有するエンコード済みのファイルを生成することが可能であり、これにより、ネットワーク送信において必要とされるデータトラフィックが少なく、従って、厳格な要件を有するアプリケーションシナリオに適している。【選択図】図1

Description

本出願は、ネットワーク通信の技術分野に関し、且つ、更に詳しくは、バイナリデータをエンコードする方法及び装置と、バイナリデータをデコードする方法及び装置と、に関する。
コンピュータにおいて、多くのリソースは、写真、オーディオ/ビデオストリーム、及び実行可能プログラムなどの、バイナリデータの形態において保存されている。これらのリソースを収容するファイルは、通常、そのすべてがバイナリファイルである。但し、いくつかのネットワークプロトコル又はネットワークアプリケーションにおいては、正しく送信されうるデータは、ユニバーサル文字のみである。これらのネットワークプロトコル又はネットワークアプリケーションに基づいて送信される際には、まず、バイナリデータを送信側において文字データにエンコードする必要がある。受信側に対して送信された後に、この文字データは、バイナリデータにデコードされる。
現時点の技術において最も人気のあるバイナリデータエンコード及びデコード技術は、Base64である。Base64は、バイナリデータをエンコードするべく、64個の文字を使用している。Nバイトのバイナリデータの場合には、対応する8*Nビットのうちのそれぞれの6つの連続ビットが1つの部分として分離されている。それぞれの部分の値は、0〜62の範囲である。この値は、ASCII(American Standard Code for Information Interchange)文字に対応している。バイナリデータのBase64コードを取得するべく、すべての部分が対応しているASCII文字がスライスされる。対応するデコードプロセスは、上述のエンコードプロセスの逆であり、従って、ここでの更なる詳細な説明は、省略する。
3バイトのバイナリデータの場合に、Base64エンコード済みのデータの長さが4バイトになることは、明らかである。バイナリファイルがBase64エンコード済みのファイルに変換された後に、ファイル長さは、約33%だけ、増大する。即ち、バイナリファイルは、Base64エンコードの後に、送信において、約3分の1だけ多くのトラフィックを占有することになる。モバイルインターネットアプリケーションにおいては、すべてのサービスが、サーバー側とユーザーのハンドヘルド装置の間におけるやり取りのトラフィックを低減することが極めて重要である。Base64エンコードの後に、文字ファイルは、相対的に大きくなり、これにより、いくつかの厳格なアプリケーションシナリオの要件を充足することが困難になる。
以上の内容に鑑み、本出願は、バイナリデータをエンコードする方法を提供しており、方法は、
kバイトの長さを有するバイナリデータを取得するステップであって、kは、自然数である、ステップと、
既定のエンコードアルゴリズムを使用することにより、kバイトのバイナリデータを(k+t)バイトの7ビットエンコード済みのデータに変換するステップであって、tは、7によって除算されたk以上である最小の整数である、ステップと、
を有する。
本出願は、バイナリデータをデコードする方法を提供しており、方法は、
pバイトの長さを有するデコード対象の7ビットエンコード済みのデータを取得するステップであって、pは、1超の自然数である、ステップと、
既定のデコードアルゴリズムを使用することにより、pバイトの7ビットエンコード済みのデータを(p−t)バイトのバイナリデータに変換するステップと、
を有する。
本出願は、バイナリデータをエンコードする装置を更に提供しており、装置は、
kバイトの長さを有するバイナリデータを取得するバイナリデータ取得ユニットであって、kは、自然数である、ユニットと、
既定のエンコードアルゴリズムを使用することにより、kバイトのバイナリデータを(k+t)バイトの7ビットエンコード済みのデータに変換する7ビットエンコードユニットであって、tは、7によって除算されたk以上の最小の整数である、ステップと、
を有する。
本出願は、バイナリデータをデコードする装置を提供しており、装置は、
pバイトの長さを有するデコード対象の7ビットエンコード済みのデータを取得するデコード対象データ取得ユニットであって、pは、1超の自然数である、ユニットと、
既定のデコードアルゴリズムを使用することにより、pバイトの7ビットエンコード済みのデータを(p−t)バイトのバイナリデータに変換する7ビットデコードユニットであって、tは、8によって除算されたp以上である最小の整数である、ユニットと、
を有する。
上述の技術的解決策から、本出願の実施形態においては、エンコードの際に、バイナリデータの7ビットエンコードを実施するべく、既定のエンコードアルゴリズムが使用されており、且つ、デコードの際には、7ビットエンコード済みのデータをバイナリデータに回復するべく、既定のデコードアルゴリズムが使用されていることがわかる。7バイトのバイナリデータが8バイトの7ビットエンコード済みのデータに変換されうることから、バイナリデータが7ビットエンコード済みのデータに変換された後に、長さは、約14.3%だけ、増大する。従って、本出願の技術的解決策の採用の後に得られるエンコード済みのファイルは、Base64エンコード済みのファイルよりも短く、ネットワーク上における送信の際に必要とされるデータトラフィックが少なく、従って、厳格な要件を有するアプリケーションシナリオに適している。
本出願の一実施形態における、バイナリデータをエンコードする方法のフロー図である。 本出願の一実施形態における、バイナリデータをデコードする方法のフロー図である。 本出願の一実施形態における、既定のエンコードアルゴリズムの一例の概略図である。 本出願の一実施形態における、代わりの既定のエンコードアルゴリズムの一例の概略図である。 本出願の一実施形態を稼働させる機器のハードウェア構造図である。 本出願の一実施形態における、バイナリデータをエンコードする装置の論理構造図である。 本出願の一実施形態における、バイナリデータをデコードする装置の論理構造図である。
大部分のエンコード方法においては、ネットワーク送信のために、ASCIIエンコード、UTF−7(Unicode Transformation Format 7:7ビットユニコード変換フォーマットの1つ)、及び7ビット等幅エンコードなどの、10進値である0〜127が対応している文字を様々なネットワークプロトコル又はネットワークアプリケーションによってサポートすることができる。即ち、様々なアプリケーションにおいて、バイナリファイルが、上述のエンコード方法により、7ビットエンコード済みのファイルに変換された後に、それらを様々なプロトコルに従って送信することができる。
7ビットエンコードは、データを搬送するべく、1バイトの下位7ビットを使用するエンコード方法である。7ビットエンコードは、7バイトのバイナリデータを8バイトのエンコード済みのデータに変換することができる。3バイトのバイナリデータを4バイトに変換するBase64エンコードとの比較において、これは、相対的に高い変換効率を有しており、変換の後のエンコード済みのファイルが相対的に小さく、この結果、送信トラフィックが節約される。
従って、本アプリケーションの実施形態は、バイナリデータをエンコードする新しい方法と、バイナリデータをデコードする対応する方法と、を提供している。これらは、ネットワーク送信において、エンコード済みのデータの長さを低減すると共にエンコード済みのデータによって消費されるトラフィックを節約することにより、現時点の技術における問題を解決するべく、それぞれ、バイナリデータを7ビットエンコード済みのデータに変換すると共に7ビットエンコード済みのデータをバイナリデータに回復するべく意図されている。
本出願の実施形態は、演算及び保存能力を有する任意の機器に適用することができる。例えば、機器は、携帯電話機、タブレットコンピュータ、PC(Personal Computer)、ノートブックコンピュータ、サーバー、仮想マシン、又は任意のその他の物理的機器又は論理的機器であってよい。或いは、この代わりに、本出願の実施形態における機能は、異なる仕事を担っている2つ以上の物理的又は論理的機器により、協働状態において実現されてもよく、この場合に、エンコード方法及びデコード方法は、個々に異なる機器上において、或いは、同一の機器上において、稼働することができる。
図1には、本出願の実施形態においてバイナリデータをエンコードする方法のフローが示されている。
ステップ110:バイナリデータを取得する。
変換対象のバイナリデータは、バイナリファイルであってもよく、或いは、ファイルの一部分としてのバイナリデータのセグメントであってもよい。制限は、課されていない。バイナリデータは、特定のネットワークの保存場所から読み取られてもよく、或いは、変換対象のバイナリデータは、指定されたキャッシュから取得されてもよい。これについても、本出願の実施形態は、制限を課すものではない。
取得されたバイナリデータの長さがkバイト(kは、自然数である)であるものとしよう。
ステップ120:既定のエンコードアルゴリズムを使用することにより、kバイトのバイナリデータを(k+t)バイトの7ビットエンコード済みのデータに変換する。この場合に、tは、k/7以上である最小の整数である。
1バイトのバイナリデータは、8つの有効なビットを有している一方で、1バイトの7ビットエンコード済みのデータは、7つの有効なビットを有している。従って、バイナリデータが7ビットエンコード済みのデータに変換された際に、1〜7バイトのバイナリデータは、それぞれ、2〜8バイトの7ビットエンコード済みのデータによって表現されてもよく、且つ、エンコードの後の長さの増大は、1バイトであり、8〜14バイトのバイナリデータは、それぞれ、10〜16バイトの7ビットエンコード済みのデータによって表現されてもよく、且つ、エンコードの後の長さの増大は、2バイトである。同一の方式により、kバイトのバイナリデータは、(k+t)バイトの7ビットエンコード済みのデータによって表現されてもよく、この場合に、tは、k/7以上である最小の整数である。換言すれば、kバイトのバイナリデータが7ビットエンコード済みのデータに変換された際に、長さの増大は、tバイトである。
kバイトのバイナリデータの(k+t)バイトの7ビットエンコード済みのデータへの1対1のマッピングを実行しうる任意のアルゴリズムを既定のエンコードアルゴリズムとして使用することができる。本出願の実施形態は、制限を課すものではない。
図2には、本出願の実施形態においてバイナリデータをデコードする方法のフローが示されている。
ステップ210:デコード対象の7ビットエンコード済みのデータを取得する。
デコード対象の7ビットエンコード済みのデータは、同様に、エンコード済みのファイルであってもよく、或いは、ファイルの一部分としての7ビットエンコード済みのデータのセグメントであってもよい。制限は課されていない。7ビットエンコード済みのデータは、特定のネットワークの保存場所から読み取られてもよく、或いは、デコード対象の7ビットエンコード済みのデータは、指定されたキャッシュから取得されてもよい。これについても、本出願の実施形態は、制限を課すものではない。
デコード対象の7ビットエンコード済みのデータの長さをp(pは、1超の自然数である)バイトであるとしよう。
ステップ220:既定のデコードアルゴリズムを使用することにより、pバイトの7ビットエンコード済みのデータを(p−t)バイトのバイナリデータに変換する。この場合に、tは、p/8以上である最小の整数である。
上述のように、2〜8バイトの7ビットエンコード済みのデータは、それぞれ、1〜7バイトのバイナリデータを表現してもよく、且つ、デコードの後の長さの低減は、1バイトであり、10〜16バイトの7ビットエンコード済みのデータは、それぞれ、8〜14バイトのバイナリデータを表現してもよく、且つ、デコードの後の長さの低減は、2バイトである。同一の方式により、pバイトの7ビットエンコード済みのデータは、(p−t)バイトのバイナリデータを表現してもよく、この場合に、tは、p/8以上である最小の整数である。換言すれば、pバイトの7ビットエンコード済みのデータがバイナリデータに変換された際に、長さの低減は、tバイトである。
本出願の実施形態においては、バイナリデータが7ビットエンコード済みのデータに変換された際に使用された既定のエンコードアルゴリズムを逆転させる、且つ、pバイトの7ビットエンコード済みのデータを(p−t)バイトのエンコード前のバイナリデータに回復しうる、アルゴリズムを既定のデコードアルゴリズムとして使用することができる。
1つの実装モードにおいては、エンコードは、1バイトのバイナリデータが8ビットから構成されている、という考え方に基づいて実施することができる。7ビットエンコードは、1バイトのうちの下位7ビットのみを使用しうることから、1バイトのバイナリデータは、7ビットエンコードの1バイトと、余分な1バイトのうちの1ビットと、により、表現する必要がある。1バイトの8ビットバイナリデータが2つの部分に分割されうる。特定の既定のビット(ビット0〜ビット7のうちの任意のビットであってよい)が、余分なバイトによって表現される1ビットとして使用され、且つ、この既定のビットを除いた残りの7ビットは、7ビットエンコードの1バイトによって表現される。余分なバイトのうちのその他の6ビットは、バイナリデータの6つのその他のバイトの既定のビットを搬送するべく、使用することができる。この結果、7バイトのバイナリデータが7ビットエンコードにマッピングされる際には常に、1バイトが追加されることになり、且つ、7未満のバイトのバイナリデータが7ビットエンコードにマッピングされる際にも、1バイトが追加されることになる。従って、kバイトのバイナリデータが7ビットエンコードにマッピングされる際には、tバイトが追加されることになる。
一例においては、この実装モードにおける既定のエンコードアルゴリズムは、kバイトのバイナリデータのうちのそれぞれのバイトの既定のビットを抽出し、設定されたビット順序に従って、既定のビットをtバイトの7ビットエンコード済みの組み合わせられたビットデータに組み合わせ、kバイトのバイナリデータのそれぞれのバイトの残りの7ビットをkバイトの7ビットエンコード済みの残余ビットデータとして使用し、且つ、設定されたバイト順序に従って、kバイトの7ビットエンコード済みの残余ビットデータ及びtバイトの7ビットエンコード済みの組み合わせられたビットデータを配置し、これにより、(k+t)バイトの7ビットエンコード済みのデータを取得する、という方式によって動作することができる。
相応する方式により、デコードの際には、この実装モードにおける既定のデコードアルゴリズムは、pが(k+t)に等しいことから、pバイトの7ビットエンコード済みのデータは、設定されたバイト順序に従って配置された、tバイトの7ビットエンコード済みの組み合わせられたビットデータ及びkバイトの7ビットエンコード済みの残余ビットデータを含む、という方式により、動作することができる。tバイトの組み合わせられたビットデータ及びkバイトの残余ビットデータが、設定されたバイト順序に従って識別された後に、kビットが、設定されたビット順序に従って、tバイトの組み合わせられたビットデータから抽出され、且つ、抽出されたビットのそれぞれが、ビットの設定されたビット順序に対応するkバイトの残余ビットデータの既定のビットに挿入され、これにより、kバイトのバイナリデータが取得される。
設定されたビット順序及び設定されたバイト順序は、既定のエンコードアルゴリズム及び既定のデコードアルゴリズムが同一の設定されたビット順序及び設定されたバイト順序を利用している限り、自由に構成することができる。例えば、設定されたビット順序は、それぞれ、残余ビットデータのs(sは、7超ではない自然数である)連続バイトに対応する、組み合わせられたビットデータの1バイトのビット0〜ビット(s−1)又はビット(s−1)〜ビット0であってよい。別の例として、設定されたビット順序は、tバイトの組み合わせられたビットデータの前のkバイトの残余ビットデータ、或いは、kバイトの残余ビットデータの前のtバイトの組み合わせられたビットデータ、であってもよく、且つ、kバイトの残余ビットデータは、対応するバイナリデータに従って配置されている。
上述の実装モードの2つの具体的な例を以下において提供する。
例1:図3を参照されたい。既定のエンコードアルゴリズムにおいては、最上位ビットが既定のビットとして使用されてもよく、且つ、kバイトのバイナリデータの最上位ビット(7番目のビット)は、組み合わせられたビットデータの第1バイトのビット6〜ビット0、組み合わせられたビットデータの第2バイトのビット6〜ビット0...、という設定されたビット順序において、tバイトの組み合わせられたビットデータを生成している。kバイトのバイナリデータのそれぞれのものの内部のビット0〜ビット6は、kバイトの残余ビットデータとして使用されている。kバイトのバイナリデータの7ビットエンコード済みのデータの(k+t)バイトを取得するべく、tバイトの組み合わせられたビットデータが、kバイトの残余ビットデータの前に配置されている。
第1例の既定のデコードアルゴリズムにおいては、7ビットエンコード済みデータのp(p=k+t)バイトの最初のtバイトが、組み合わせられたビットデータとして使用され、且つ、最後のkバイトが、残余ビットデータとして使用されている。k個の既定のビットが、組み合わせられたビットデータの第1バイトのビット6〜ビット0、組み合わせられたビットデータの第2バイトのビット6〜ビット0...という設定されたビット順序に従って、tバイトの組み合わせられたビットデータから抽出される。そして、kバイトのバイナリデータを取得するべく、順序どおりに抽出された既定のkビットが、kバイトの残余ビットデータの最上位ビットに挿入される。
例2:図4を参照されたい。別の既定のエンコードアルゴリズムにおいては、4番目のビットが、既定のビットとして使用され、且つ、7連続バイトのバイナリデータがグループとして取り扱われている。7未満バイトのデータが残っている場合には、残りのデータも、グループとして使用され、kバイトのバイナリデータは、t個のグループを形成することになる。グループを単位として使用することにより、バイナリデータのグループ内のそれぞれのバイトの既定のビットが抽出され、ビット0からビット6への設定されたビット順序に従って、1バイトの組み合わせられたビットデータが生成され、且つ、7ビットエンコード済みの残余ビットデータを取得するべく、グループ内のバイナリデータのそれぞれのバイトのビット5〜ビット7が、1ビットだけ、右方向にシフトされる。それぞれのグループの組み合わせられたビットデータは、グループの残余ビットデータの前に配置され、且つ、グループを単位として使用することにより、(k+t)バイトの7ビットエンコード済みのデータを取得するべく、t個のグループが配置される。
第2例の既定のデコードアルゴリズムにおいては、8連続バイトの7ビットエンコード済みのデータがグループとして取り扱われている。8未満の数のバイトが残っている場合には、残っているデータも、グループとして取り扱われ、この結果、p(p=k+t)バイトのバイナリデータがt個のグループを形成することになる。グループを単位として使用することにより、特定のグループが(s+1)(sは、7超ではない自然数である)バイトを合計で有すると仮定すれば、グループ内の第1バイトは、組み合わせられたビットデータであり、且つ、第2バイト〜(s+1)番目のバイトは、sバイトの残余ビットデータであり、sバイトのバイナリデータを取得するべく、グループ内の組み合わせられたビットデータのビット0〜ビットsが、それぞれ、グループ内の残余ビットデータの第2バイト〜(s+1)番目のバイトの第4ビットに挿入される。kバイトのデコード済みのバイナリデータを取得するべく、それぞれのグループから取得されたバイナリデータが配置される。
本出願の実施形態においては、エンコードの際に、バイナリデータを7ビットエンコード済みのデータに変換するべく、既定のエンコードアルゴリズムが利用されており、且つ、デコードの際には、7ビットエンコード済みのデータをバイナリデータに回復するべく、対応する既定のデコードアルゴリズムが利用されていることがわかる。バイナリデータが7ビットエンコード済みのデータに変換された後に、約14.3%だけ、データの長さが増大し、これは、Base64エンコードの際の長さの増大よりも格段に小さいことから、本出願の実施形態の採用の後に得られるエンコード済みのファイルは、ネットワーク上における送信の際に必要とされるトラフィックが相対的に少なく、従って、厳格な要件を有するアプリケーションシナリオに適している。
本出願の一適用例においては、エンコードアルゴリズムは、写真由来の.jpgのデータを7ビットASCIIエンコード済みのデータに変換するべく、利用されており、且つ、対応するデコードアルゴリズムは、7ビットASCIIエンコード済みのデータをバイナリデータに回復している。
エンコード方法を実現するJava(登録商標)Scriptプログラムは、以下のとおりである。
var buf = new Buffer(1024); // エンコードに使用されるバッファゾーンを確立する
は、写真由来の.jpgのバイナリデータである
var length = data.length + Math.ceil(data.length / 7); // lengthは、変換後の7ビットエンコード済みのデータの長さである
var body = new Buffer(length); // bodyは、変換後の7ビットエンコード済みのデータである
var offset = 0;
var swap = 0;
var count = 0;
for (var i = 0; i < data.length, i++) {
swap | = ( (data [i] & 0x80) >> (i% 7 + 1) );
count ++;
if (i===data.length - 1 ||count % 7===0) {
body.writeUInt8(swap, ++offset);
swap=0;

}// dataの第1バイトから開始することにより、それぞれの7バイトの最上位ビットが、ASCIIエンコード済みの組み合わせられたビットデータを生成するべく、組み合わせられており、この場合に、それぞれの7バイトのうちのバイナリデータの第7バイトの最上位ビットは、ビット0に位置しており、且つ、バイナリデータの第1バイトの最上位ビットは、ビット6に位置している。組み合わせられたビットデータは、dataの最後のバイトまで、1つずつ、bodyに書き込まれる
for (var i=0; i < data.length; i++) {
body.writeUInt8(data [i] & 0x7f, ++offset);
}// dataの最初のバイトから開始することにより、それぞれのバイトの下位7ビットが、ASCIIエンコード済みの残余ビットデータを生成するべく、使用されており、且つ、これらは、1つずつ、bodyに書き込まれる
tempが、デコード対象の7ビットエンコード済みのデータであると仮定すれば、デコード方法を実現するJava(登録商標)Scriptプログラムは、以下の通りである。
var len=temp.length - Math.ceil(temp.length / 8); // lenは、デコード後のバイナリデータの長さである
var buf = new Buffer(len), // bufは、デコード後のバイナリデータである
for (var i = 0; i < buf.length; i++) {
var swap = 0;
swap | = ((temp.readUInt8 (parseInt(i / 7)) << (i% 7 + 1)) & 0x80);
swap | = temp.readUInt8(i+temp.length - len);
buf.writeUInt8(swap, i);
} // tempの最初(temp.length − len)のバイトは、組み合わせられたビットデータであり、且つ、残りのものは、残余ビットデータであり、次いで、組み合わせられたビットデータの第1バイトから開始することにより、それぞれのバイトのビット6〜ビット0が、抽出され、且つ、次いで、残余ビットデータの最上位ビットに挿入され、且つ、bufに書き込まれる
上述のフローの実装形態に対応することにより、本出願の実施形態は、バイナリデータをエンコードする装置及びバイナリデータをデコードする装置を更に提供している。これらの2つの装置は、いずれも、ソフトウェアを通じて、ハードウェアを通じて、或いは、ハードウェアとソフトウェアの組合せを通じて、実装することができる。一例としてソフトウェアを通じた実装形態をとりあげれば、論理的な意味における装置は、対応するコンピュータプログラムコマンドをメモリに読み込むと共にこれらを実行する、機器のCPU(Central Process Unit)を通じて形成される。ハードウェアの観点においては、図5に示されているように、CPU、メモリ、及びNVM(NonVolatile Memory)に加えて、バイナリデータをエンコードする装置又はバイナリデータをデコードする装置が配置される機器は、通常、高周波信号を送受信するチップ及び/又はネットワーク通信の機能を実現する基板カードなどの、その他のハードウェアをも含む。
図6は、バイナリデータ取得ユニットと、7ビットエンコードユニットと、を有する、本出願の一実施形態におけるバイナリデータをエンコードする装置を示している。バイナリデータ取得ユニットは、kバイトの長さを有するバイナリデータを取得するためのものであり、この場合に、kは、自然数である。7ビットエンコードユニットは、既定のエンコードアルゴリズムを使用することにより、kバイトのバイナリデータを(k+t)バイトの7ビットエンコード済みのデータに変換するためのものであり、この場合に、tは、k/7以上である最小の整数である。
1つの実装モードにおいては、既定のエンコードアルゴリズムは、kバイトのバイナリデータのそれぞれのバイトの既定のビットを抽出し、且つ、設定されたビット順序に従って、それらを7ビットエンコード済みの組み合わせられたビットデータに組み合わせるステップと、kバイトのバイナリデータのそれぞれのバイトの残りの7ビットをkバイトの7ビットエンコード済みの残余ビットデータとして使用するステップと、バイナリデータの7ビットエンコード済みのデータを生成するべく、設定されたバイト順序に従って、kバイトの7ビットエンコード済みの残余ビットデータ及びtバイトの7ビットエンコード済みの組み合わせられたビットデータを配置するステップと、を有する。
上述の実装モードにおいては、設定されたバイト順序は、対応するバイナリデータに従って配置された、tバイトの組み合わせられたビットデータの前又は後のkバイトの残余ビットデータを含む。
この実装モードにおいては、設定されたビット順序は、s連続バイトのバイナリデータから抽出された既定のビットを組み合わせられたビットデータの1バイトのビット0〜ビット(s−1)又はビット(s−1)〜ビット0として使用するステップを含んでおり、この場合に、sは、7超ではない自然数である。
上述の実装モードにおいては、既定のビットは、それぞれのバイトの最上位ビットである。
図7は、デコード対象データ取得ユニットと、7ビットデコードユニットと、を有する、本出願の一実施形態におけるバイナリデータをデコードする装置を示している。デコード対象データ取得ユニットは、pバイトの長さを有するデコード対象の7ビットエンコード済みのデータを取得するためのものであり、この場合に、pは、1超の自然数である。7ビットデコードユニットは、既定のデコードアルゴリズムを使用することにより、pバイトの7ビットエンコード済みのデータを(p−t)バイトのバイナリデータに変換するためのものであり、この場合に、tは、p/8以上である最小の整数である。
一実装モードにおいては、既定のデコードアルゴリズムは、設定されたバイト順序に従って、kバイトの残余ビットデータ及びtバイトの組み合わせられたビットデータをpバイトの7ビットエンコード済みのデータから取得するステップであって、kは、pからtを減算することによって取得された差である、ステップと、kビットをtバイトの7ビットエンコード済みの組み合わせられたビットデータから抽出するステップと、抽出されたビットのそれぞれをビットの設定されたビット順序に対応するkバイトの残余ビットデータの既定のビットに挿入し、これにより、kバイトのバイナリデータを取得するステップと、を有する。
上述の実装モードにおいては、設定されたバイト順序は、対応するバイナリデータに従って配置された、tバイトの組み合わせられたビットデータの前又は後のkバイトの残余ビットデータを含む。
上述の実装モードにおいては、設定されたビット順序は、それぞれ、s連続バイトの残余ビットデータに対応する組み合わせられたビットデータの1バイトのビット0〜ビット(s−1)又はビット(s−1)〜ビット0を含んでおり、この場合に、sは、7超ではない自然数である。
上述の実装モードにおいては、既定のビットは、それぞれのバイトの最上位ビットである。
上述の説明は、本出願の好適な実施形態であり、且つ、本出願の限定を意図したものではない。本出願の精神及び原理を逸脱することなしに実施されるすべての変更、等価な置換、及び改善は、本出願の範囲に含まれるものとする。
通常の一構成においては、演算機器は、1つ又は複数のプロセッサ(CPU)と、入出力インターフェイスと、ネットワークインターフェイスと、内部メモリと、を有する。
内部メモリは、コンピュータ可読媒体のうち、揮発性メモリ、ランダムアクセスメモリ(RAM:Rancom Access Memory)、並びに/或いは、読み出し専用メモリ(ROM:Read−Only Memory)又はフラッシュメモリ(フラッシュRAM)などの、不揮発性メモリの形態を有することができる。内部メモリは、コンピュータ可読媒体の一例である。
コンピュータ可読媒体は、不揮発性、揮発性、着脱自在、及び非着脱自在の媒体を含み、且つ、任意の方法又は技術によって情報保存を実現することができる。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、又はその他のデータであってよい。コンピュータストレージ媒体の例は、限定を伴うことなしに、相変化ランダムアクセスメモリ(PRAM:Phase Change Random Access Memory)、スタティックランダムアクセスメモリ(SRAM:Static Random Access Memory)、ダイナミックランダムアクセスメモリ(DRAM:Dynamic Random Access Memory)、及びその他のタイプのランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的に消去可能なプログラム可能な読み出し専用メモリ(EEPROM:Electrically Erasable Programmable Read Only Memory)、フラッシュメモリ又はその他のメモリ技術、コンパクトディスク―読み出し専用メモリ(CD−ROM:Compact Disc−Read Only Memory)、デジタルバーサタイルディスク(DVD:Digital Video Disk)又はその他の光メモリ、カセットタイプ磁気テープ、テープディスクメモリ又はその他の磁気ストレージ装置、又は任意のその他の非転送媒体を含む。これらは、コンピュータ装置からアクセス可能な情報を保存するべく使用することができる。本明細書における定義に従って、コンピュータ可読媒体は、変調されたデータ信号及び搬送波などの、一時的な媒体を含んではいない。
「含む(include)」、「収容する(contain)」という用語、或いは、これらの変形は、一連の要素を含むプロセス、方法、物品、又は機器が、これらの要素を含むのみならず、明示的に記述されてはいないその他の要素をも含むように、或いは、そのようなプロセス、方法、物品、又は機器に固有の装置をも含むように、非排他的包含をカバーするべく意図されていることに更に留意されたい。そうではない旨が規定されていない限り、「1つの〜を含む」というフレーズによって定義された要素は、それらの要素を含むプロセス、方法、物品、又は機器内におけるその他の類似の要素の存在を排除するものではない。
当業者は、本出願の実施形態は、方法、システム、又はコンピュータプログラムとして提供されてもよく、従って、本出願は、純粋にソフトウェア実施形態の形態、純粋にハードウェア実施形態の形態、又はソフトウェアとハードウェアを組み合わせた実施形態の形態を採用しうることを理解するであろう。更には、本出願は、コンピュータ使用可能なプログラムコードを含む(限定を伴うことなしに、ディスクメモリ、CD−ROM、及び光メモリを含む)1つ又は複数のコンピュータ使用可能なストレージ媒体上において実装されたコンピュータプログラムプロダクトの形態を採用することができる。

Claims (20)

  1. バイナリデータをエンコードする方法であって、
    kバイトの長さを有するバイナリデータを取得するステップであって、kは、自然数である、ステップと、
    既定のエンコードアルゴリズムを使用することにより、前記kバイトのバイナリデータを(k+t)バイトの7ビットエンコード済みのデータに変換するステップであって、tは、7によって除算されたk以上である最小の整数である、ステップと、
    を有する方法。
  2. 前記既定のエンコードアルゴリズムは、前記kバイトのバイナリデータのそれぞれのバイトの既定のビットを抽出し、且つ、設定されたビット順序に従って、前記既定のビットをtバイトの7ビットエンコード済みの組み合わせられたビットデータに組み合わせるステップと、前記kバイトのバイナリデータのそれぞれのバイトの残りの7ビットをkバイトの7ビットエンコード済みの残余ビットデータとして使用するステップと、前記バイナリデータの7ビットエンコード済みのデータを生成するべく、設定されたバイト順序に従って、前記kバイトの7ビットエンコード済みの残余ビットデータ及び前記tバイトの7ビットエンコード済みの組み合わせられたビットデータを配置するステップと、を有する請求項1に記載の方法。
  3. 前記設定されたバイト順序は、前記対応するバイナリデータに従って配置された、前記tバイトの組み合わせられたビットデータの前又は後の前記kバイトの残余ビットデータを有する請求項2に記載の方法。
  4. 前記設定されたビット順序は、前記バイナリデータのs連続バイトから抽出された前記既定のビットを前記組み合わせられたビットデータの1バイトのビット0〜ビット(s−1)又はビット(s−1)〜ビット0として使用するステップを有しており、sは、7超ではない自然数である請求項2に記載の方法。
  5. 前記既定のビットは、それぞれのバイトの最上位ビットである請求項2に記載の方法。
  6. バイナリデータをデコードする方法であって、
    pバイトの長さを有するデコード対象の7ビットエンコード済みのデータを取得するステップであって、pは、1超の自然数である、ステップと、
    既定のデコードアルゴリズムを使用することにより、前記pバイトの7ビットエンコード済みのデータを(p−t)バイトのバイナリデータに変換するステップであって、tは、8によって除算されたp以上である最小の整数である、ステップと、
    を有する方法。
  7. 前記既定のデコードアルゴリズムは、設定されたバイト順序に従って、kバイトの残余ビットデータ及びtバイトの組み合わせられたビットデータを前記pバイトの7ビットエンコード済みのデータから取得するステップであって、kは、pからtを減算することによって取得された差である、ステップと、kビットを前記tバイトの7ビットエンコード済みの組み合わせられたビットデータから抽出するステップと、前記抽出されたビットのそれぞれを前記ビットの設定されたビット順序に対応する前記kバイトの残余ビットデータの既定のビットに挿入し、これにより、kバイトのバイナリデータを取得するステップと、を有する請求項6に記載の方法。
  8. 前記設定されたバイト順序は、前記対応するバイナリデータに従って配置された、前記tバイトの組み合わせられたビットデータの前又は後の前記kバイトの残余ビットデータを有する請求項7に記載の方法。
  9. 前記設定されたビット順序は、それぞれ、前記残余ビットデータのs連続バイトに対応する前記組み合わせられたビットデータの1バイトのビット0〜ビット(s−1)又はビット(s−1)〜ビット0を有しており、xは、7超ではない自然数である請求項7に記載の方法。
  10. 前記既定のビットは、それぞれのバイトの最上位ビットである請求項7に記載の方法。
  11. バイナリデータをエンコードする装置であって、
    kバイトの長さを有するバイナリデータを取得するバイナリデータ取得ユニットであって、kは、自然数である、ユニットと、
    既定のエンコードアルゴリズムを使用することにより、前記kバイトのバイナリデータを(k+t)バイトの7ビットエンコード済みのデータに変換する7ビットエンコードユニットであって、tは、7によって除算されたk以上である最小の整数である、ユニットと、
    を有する装置。
  12. 前記既定のエンコードアルゴリズムは、前記kバイトのバイナリデータのそれぞれのバイトの既定のビットを抽出し、且つ、設定されたビット順序に従って、前記既定のビットをtバイトの7ビットエンコード済みの組み合わせられたビットデータに組み合わせるステップと、前記kバイトのバイナリデータのそれぞれのバイトの残りの7ビットをkバイトの7ビットエンコード済みの残余ビットデータとして使用するステップと、前記バイナリデータの7ビットエンコード済みのデータを生成するべく、設定されたバイト順序に従って、前記kバイトの7ビットエンコード済みの残余ビットデータ及び前記tバイトの7ビットエンコード済みの組み合わせられたビットデータを配置するステップと、を有する請求項11に記載の装置。
  13. 前記設定されたバイト順序は、前記対応するバイナリデータに従って配置された、前記tバイトの組み合わせられたビットデータの前又は後の前記kバイトの残余ビットデータを有する請求項12に記載の装置。
  14. 前記設定されたビット順序は、前記バイナリデータのs連続バイトから抽出された前記既定のビットを前記組み合わせられたビットデータの1バイトのビット0〜ビット(s−1)又はビット(s−1)〜ビット0として使用するステップを有しており、sは、7超ではない自然数である請求項12に記載の装置。
  15. 前記既定のビットは、それぞれのバイトの最上位ビットである請求項12に記載の装置。
  16. バイナリデータをデコードする装置であって、
    pバイトの長さを有するデコード対象の7ビットエンコード済みのデータを取得するデコード対象のデータ取得ユニットであって、pは、1超の自然数である、ユニットと、
    既定のデコードアルゴリズムを使用することにより、前記pバイトの7ビットエンコード済みのデータを(p−t)バイトのバイナリデータに変換する7ビットデコードユニットであって、tは、8によって除算されたp以上である最小の整数である、ユニットと、
    を有する装置。
  17. 前記既定のデコードアルゴリズムは、設定されたバイト順序に従って、kバイトの残余ビットデータ及びtバイトの組み合わせられたビットデータを前記pバイトの7ビットエンコード済みのデータから取得するステップであって、kは、pからtを減算することによって得られた差である、ステップと、前記tバイトの7ビットエンコード済みの組み合わせられたビットデータからkビットを抽出するステップと、前記抽出されたビットのそれぞれを前記ビットの設定されたビット順序に対応する前記kバイトの残余ビットデータの既定のビットに挿入し、これにより、kバイトのバイナリデータを取得するステップを有する請求項16に記載の装置。
  18. 前記設定されたバイト順序は、前記対応するバイナリデータに従って配置された、前記tバイトの組み合わせられたビットデータの前又は後の前記kバイトの残余ビットデータを有する請求項17に記載の装置。
  19. 前記設定されたビット順序は、それぞれ、前記残余ビットデータのs連続バイトに対応する前記組み合わせられたビットデータの1バイトのビット0〜ビット(s−1)又はビット(s−1)〜ビット0を有する請求項17に記載の装置。
  20. 前記既定のビットは、それぞれのバイトの最上位ビットである請求項17に記載の装置。
JP2019519660A 2016-10-11 2017-09-26 バイナリデータをエンコード及びデコードする方法及び装置 Active JP6931050B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610887650.1 2016-10-11
CN201610887650.1A CN107919943B (zh) 2016-10-11 2016-10-11 二进制数据的编码、解码方法和装置
PCT/CN2017/103429 WO2018068634A1 (zh) 2016-10-11 2017-09-26 二进制数据的编码、解码方法和装置

Publications (3)

Publication Number Publication Date
JP2019537332A true JP2019537332A (ja) 2019-12-19
JP2019537332A5 JP2019537332A5 (ja) 2020-08-06
JP6931050B2 JP6931050B2 (ja) 2021-09-01

Family

ID=61892693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019519660A Active JP6931050B2 (ja) 2016-10-11 2017-09-26 バイナリデータをエンコード及びデコードする方法及び装置

Country Status (16)

Country Link
US (1) US10785277B2 (ja)
EP (1) EP3528389A4 (ja)
JP (1) JP6931050B2 (ja)
KR (1) KR102249267B1 (ja)
CN (1) CN107919943B (ja)
AU (2) AU2017342863B2 (ja)
BR (1) BR112019007284A2 (ja)
CA (1) CA3040003C (ja)
MX (1) MX2019004256A (ja)
MY (1) MY196192A (ja)
PH (1) PH12019500783A1 (ja)
RU (1) RU2725763C1 (ja)
SG (1) SG11201903176RA (ja)
TW (1) TW201815074A (ja)
WO (1) WO2018068634A1 (ja)
ZA (1) ZA201902948B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110504973A (zh) * 2018-05-16 2019-11-26 北京京东尚科信息技术有限公司 文件压缩、解压方法和装置
CN110120819B (zh) * 2019-04-26 2023-07-21 矩阵元技术(深圳)有限公司 一种布尔电路编码方法、装置及系统
CN110569487B (zh) * 2019-08-19 2023-07-18 积成电子股份有限公司 一种基于高频率字符替代算法的Base64扩展编码方法及系统
CN112422491A (zh) * 2020-05-08 2021-02-26 上海幻电信息科技有限公司 数字编码的加密解密方法、服务器和存储介质
CN111600610B (zh) * 2020-05-26 2023-04-28 北京思特奇信息技术股份有限公司 一种变长整数的通用编码方法、系统及电子设备
CN112148673A (zh) * 2020-09-22 2020-12-29 北京中房智宝科技有限公司 一种多二进制合并成一个二进制文件读写错误的解决方法
CN112818639A (zh) * 2020-12-30 2021-05-18 平安普惠企业管理有限公司 数据编码方法、装置、计算机设备和存储介质
CN112910568A (zh) * 2021-01-18 2021-06-04 猫岐智能科技(上海)有限公司 一种数据通信方法、数据发送方法及数据接收方法
KR102627365B1 (ko) * 2021-04-28 2024-01-18 한전케이디엔주식회사 배전설비 pd 진단시스템의 prpd 데이터 포맷변환 및 압축 방법
CN113542762A (zh) * 2021-07-20 2021-10-22 中交信捷科技有限公司 一种车辆红外图像的压缩与增强方法和系统

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4597057A (en) 1981-12-31 1986-06-24 System Development Corporation System for compressed storage of 8-bit ASCII bytes using coded strings of 4 bit nibbles
US5007013A (en) 1986-04-01 1991-04-09 Westinghouse Electric Corp. Bidirectional communication and control network with programmable microcontroller interfacing digital ICS and controlled product
US4789852A (en) 1987-06-05 1988-12-06 Bailey Guy R Method and apparatus for converting data in a binary format
US5136291A (en) 1990-11-30 1992-08-04 Unisys Corporation Transmitting binary data files using electronic mail
US5406279A (en) 1992-09-02 1995-04-11 Cirrus Logic, Inc. General purpose, hash-based technique for single-pass lossless data compression
EP0688477A1 (en) 1993-03-10 1995-12-27 Awacs Communications (Nz) Limited Enhanced one way radio seven bit data network
US5406280A (en) 1993-08-26 1995-04-11 Commerce Clearing House Data retrieval system using compression scheme especially for serial data stream
US5974464A (en) 1995-10-06 1999-10-26 Silicon Image, Inc. System for high speed serial video signal transmission using DC-balanced coding
JP2840589B2 (ja) 1996-02-09 1998-12-24 富士通株式会社 データ圧縮装置及びデータ復元装置
US5818032A (en) 1997-01-03 1998-10-06 Sun; Tsu-Hung Tom Encoded color halftone micro-dots for high density digital information storage
US7190257B2 (en) 1999-03-16 2007-03-13 Intermec Ip Corp. Data encoding in radio frequency identification transponders
JP2000307431A (ja) * 1999-04-23 2000-11-02 Victor Co Of Japan Ltd 変調装置及び復調装置
US6801625B1 (en) * 1999-12-08 2004-10-05 Intel Corporation Apparatus and method for stripping parity bits from an input stream
US7451229B2 (en) 2002-06-24 2008-11-11 Microsoft Corporation System and method for embedding a streaming media format header within a session description message
CN1466342A (zh) * 2002-07-02 2004-01-07 深圳市中兴通讯股份有限公司 一种在网关上还原电子邮件内容的方法
CN1251522C (zh) * 2002-10-29 2006-04-12 蔡宁 一种利用pocsag编码传送图形文件的方法
US7590837B2 (en) 2003-08-23 2009-09-15 Softex Incorporated Electronic device security and tracking system and method
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US7769904B2 (en) 2004-06-09 2010-08-03 L-3 Communications Integrated Systems L.P. Extensible binary mark-up language for efficient XML-based data communications and related systems and methods
CN100377613C (zh) * 2005-06-01 2008-03-26 海信集团有限公司 移动终端短消息加密的方法
CN100423582C (zh) * 2005-11-03 2008-10-01 浙江大学 一种用于将待编码数据进行二进制化编码的方法和装置
CN100425081C (zh) * 2005-11-08 2008-10-08 杭州华三通信技术有限公司 短信收发的编码转换方法及其应用的网络设备
CN1937582B (zh) * 2006-08-11 2012-08-15 白杰 待压缩数据的预处理方法以及压缩数据的传输方法
CN101080038A (zh) * 2007-06-22 2007-11-28 中国移动通信集团广东有限公司 一种基于ussd协议的中文信息传输方法
US10175990B2 (en) * 2009-12-22 2019-01-08 Intel Corporation Gathering and scattering multiple data elements
CN101840394B (zh) * 2010-03-04 2012-12-19 英华达(南昌)科技有限公司 数据解码方法
CN103067022B (zh) * 2012-12-19 2015-10-21 中国石油天然气集团公司 一种整型数据无损压缩方法、解压缩方法及装置
US20140204994A1 (en) * 2013-01-24 2014-07-24 Silicon Image, Inc. Auxiliary data encoding in video data
US9626184B2 (en) * 2013-06-28 2017-04-18 Intel Corporation Processors, methods, systems, and instructions to transcode variable length code points of unicode characters
JP6227186B2 (ja) * 2015-02-16 2017-11-08 三菱電機株式会社 データ圧縮装置、データ伸張装置、データ圧縮方法、データ伸張方法及びプログラム
CN105740215A (zh) * 2016-01-23 2016-07-06 北京掌阔移动传媒科技有限公司 一种数据通信编码和解码方法

Also Published As

Publication number Publication date
PH12019500783B1 (en) 2019-12-11
SG11201903176RA (en) 2019-05-30
WO2018068634A1 (zh) 2018-04-19
TW201815074A (zh) 2018-04-16
KR102249267B1 (ko) 2021-05-10
CA3040003C (en) 2021-02-09
BR112019007284A2 (pt) 2019-07-09
EP3528389A4 (en) 2020-05-13
CA3040003A1 (en) 2018-04-19
AU2017342863A1 (en) 2019-05-02
CN107919943B (zh) 2020-08-04
EP3528389A1 (en) 2019-08-21
JP6931050B2 (ja) 2021-09-01
US20190245906A1 (en) 2019-08-08
US10785277B2 (en) 2020-09-22
AU2017342863B2 (en) 2020-10-22
KR20190064621A (ko) 2019-06-10
MY196192A (en) 2023-03-22
CN107919943A (zh) 2018-04-17
ZA201902948B (en) 2020-08-26
PH12019500783A1 (en) 2019-12-11
AU2019101588A4 (en) 2020-01-23
MX2019004256A (es) 2019-07-01
RU2725763C1 (ru) 2020-07-06

Similar Documents

Publication Publication Date Title
JP2019537332A (ja) バイナリデータをエンコード及びデコードする方法及び装置
WO2016029801A1 (zh) 编码、解码方法以及编码装置和解码装置
CN105993010B (zh) 用以提供扩展对象符号数据的方法及设备
CN111683046B (zh) 文件压缩以及获取的方法、装置、设备及存储介质
US20180074729A1 (en) Data storage method and apparatus
WO2017054597A1 (zh) 表情字符串的处理方法及装置
CN105868194A (zh) 文本数据压缩、解压方法及装置
CN103067441A (zh) 一种图片分享的方法、装置和设备
US20200076924A1 (en) Security-oriented compression
CN113220651B (zh) 运行数据压缩方法、装置、终端设备以及存储介质
JP2012085274A (ja) テキストをマトリクスコードシンボルに符号化するコンピュータ実行方法、マトリクスコードシンボルを復号化するコンピュータ実行方法、テキストをマトリクスコードシンボルに符号化するためのエンコーダ、およびマトリクスコードシンボルを復号化するためのデコーダ
CN109271797B (zh) 一种提高数据库敏感信息安全性的方法及系统
TW201339861A (zh) 提供較小目標編碼空間之碼轉換的方法、電腦裝置與程式產品
CN111178010B (zh) 显示数字签名的方法及系统、数据编辑方法及终端
JP7006462B2 (ja) データ生成プログラム、データ生成方法および情報処理装置
US10915559B2 (en) Data generation method, information processing device, and recording medium
CN112395468A (zh) 一种号码管理方法、装置及电子设备和存储介质
CN106992858B (zh) 数据处理方法及装置
Zeng et al. Research on LZW Algorithm Based on AES in Data Backup Under Data Block Compression and Encryption
CN113283215B (zh) 一种基于utf-32编码的数据混淆方法及装置
CN115001628B (zh) 数据编码的方法及装置、数据解码的方法及装置和数据结构
JP2012034272A (ja) 文字列データ圧縮装置及びその方法並びに文字列データ復元装置及びその方法
Sarker et al. A Huffman based short message service compression technique using adjacent distance array
CN116846600A (zh) 文件传输方法、装置、计算机设备、存储介质和程序产品
CN115293105A (zh) 字符编译方法及装置、设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200623

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200630

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201116

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20210126

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20210127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210623

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210713

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210812

R150 Certificate of patent or registration of utility model

Ref document number: 6931050

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150