RU2725763C1 - Способы и устройства для кодирования и декодирования двоичных данных - Google Patents

Способы и устройства для кодирования и декодирования двоичных данных Download PDF

Info

Publication number
RU2725763C1
RU2725763C1 RU2019113976A RU2019113976A RU2725763C1 RU 2725763 C1 RU2725763 C1 RU 2725763C1 RU 2019113976 A RU2019113976 A RU 2019113976A RU 2019113976 A RU2019113976 A RU 2019113976A RU 2725763 C1 RU2725763 C1 RU 2725763C1
Authority
RU
Russia
Prior art keywords
bit
bytes
data
binary data
byte
Prior art date
Application number
RU2019113976A
Other languages
English (en)
Inventor
Дафын СЮЙ
Саньпин ЛИ
Original Assignee
Алибаба Груп Холдинг Лимитед
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 Алибаба Груп Холдинг Лимитед filed Critical Алибаба Груп Холдинг Лимитед
Application granted granted Critical
Publication of RU2725763C1 publication Critical patent/RU2725763C1/ru

Links

Images

Classifications

    • 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
    • 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
    • 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/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
    • 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/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
    • 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. Алгоритм кодирования содержит: извлечение предварительно определенного бита каждого байта двоичных данных и комбинирование этих битов в t байтов 7-битовых кодированных комбинированных битовых данных; использование оставшихся 7 битов каждого байта из k байтов двоичных данных в качестве k байтов 7-битовых кодированных оставшихся битовых данных и размещение k байтов 7-битовых кодированных оставшихся битовых данных и t байтов 7-битовых кодированных комбинированных битовых данных. 4 н. и 16 з.п. ф-лы, 7 ил.

Description

Область техники, к которой относится изобретение
Настоящая заявка относится к области техники сетевой связи, в частности, к способу и устройству для кодирования двоичных данных и к способу и устройству для декодирования двоичных данных.
Уровень техники
В компьютерах, множество ресурсов сохраняются в форме двоичных данных, таких как изображения, аудио/видеопотоки и исполняемые программы. Файлы, содержащие эти ресурсы, типично представляют собой двоичные файлы. Тем не менее, в некоторых сетевых протоколах или сетевых приложениях, единственные данные, которые могут передаваться корректно, представляют собой универсальные символы. Когда двоичные данные передаются на основе этих сетевых протоколов или сетевых приложений, они сначала должны кодироваться в символьные данные на передающем конце. После того, как они передаются в приемный конец, символьные данные декодируются в двоичные данные.
В современных технологиях, Base64 представляет собой наиболее популярную технологию кодирования и декодирования двоичных данных. Base64 использует 64 символа для того, чтобы кодировать двоичные данные. Для N байтов двоичных данных, каждые шесть непрерывных битов в соответствующих 8*N битов сегрегируются в качестве одной части. Значение каждой части находится в диапазоне 0 ~ 63. Это значение соответствует символу по стандарту ASCII (американского стандартного кода для обмена информацией). ASCII-символы, которым соответствуют все части, сращиваются, чтобы получать Base64-код двоичных данных. Соответствующий процесс декодирования является обратным относительно вышеприведенного процесса кодирования и не описывается здесь подробнее.
Безусловно, для 3 байтов двоичных данных, длина Base64-кодированных данных составляет 4 байта. После того, как двоичный файл преобразуется в Base64-кодированный файл, длина файла увеличивается приблизительно на 33%. Другими словами, двоичный файл должен занимать приблизительно на одну треть больший объем трафика в передаче после Base64-кодирования. В мобильных Интернет-приложениях, для всех услуг жизненно важно уменьшать трафик взаимодействия между серверной стороной и карманным устройством пользователя. После Base64-кодирования, символьные файлы являются относительно большими, затрудняя удовлетворение требований некоторых строгих сценариев применения.
Сущность изобретения
В свете этого, настоящая заявка предоставляет способ кодирования двоичных данных, содержащий:
- получение двоичных данных, имеющих длину k байтов, при этом k является натуральным числом; и
- преобразование k байтов двоичных данных в (k+t) байтов 7-битовых кодированных данных с использованием предварительно определенного алгоритма кодирования, при этом t является минимальным целым числом, которое превышает или равно k, деленному на 7.
Настоящая заявка предоставляет способ декодирования двоичных данных, содержащий:
- получение подлежащих декодированию 7-битовых кодированных данных, имеющих длину в p байтов, при этом p является натуральным числом, большим 1; и
- преобразование p байтов 7-битовых кодированных данных в (p-t) байтов двоичных данных с использованием предварительно определенного алгоритма декодирования, при этом t является минимальным целым числом, которое превышает или равно p/8.
Настоящая заявка дополнительно предоставляет устройство для кодирования двоичных данных, содержащее:
- блок получения двоичных данных, для получения двоичных данных, имеющих длину k байтов, при этом k является натуральным числом; и
- блок 7-битового кодирования, для преобразования k байтов двоичных данных в (k+t) байтов 7-битовых кодированных данных с использованием предварительно определенного алгоритма кодирования, где t является минимальным целым числом, которое превышает или равно k, деленному на 7.
Настоящая заявка предоставляет устройство для декодирования двоичных данных, содержащее:
- блок получения подлежащих декодированию данных, для получения подлежащих декодированию 7-битовых кодированных данных, имеющих длину в p байтов, при этом p является натуральным числом, большим 1; и
- блок 7-битового декодирования, для преобразования p байтов 7-битовых кодированных данных в (p-t) байтов двоичных данных с использованием предварительно определенного алгоритма декодирования, при этом t является минимальным целым числом, которое превышает или равно p, деленному на 8.
Из вышеприведенного технического решения, можно видеть, что в вариантах осуществления настоящей заявки, во время кодирования, предварительно определенный алгоритм кодирования используется для того, чтобы осуществлять 7-битовое кодирование двоичных данных, и во время декодирования, предварительно определенный алгоритм декодирования используется для того, чтобы восстанавливать 7-битовые кодированные данные в двоичные данные. Поскольку 7 байтов двоичных данных могут преобразовываться в 8 байтов 7-битовых кодированных данных, после того, как двоичные данные преобразуются в 7-битовые кодированные данные, длина увеличивается приблизительно на 14,3%. Следовательно, кодированный файл, полученный после приспособления технического решения настоящей заявки, короче Base64-кодированного файла, требует меньшего объема трафика данных во время передачи по сети и является подходящим для сценария применения, имеющего строгие требования.
Краткое описание чертежей
Фиг. 1 является блок-схемой последовательности операций способа кодирования двоичных данных в варианте осуществления настоящей заявки.
Фиг. 2 является блок-схемой последовательности операций способа декодирования двоичных данных в варианте осуществления настоящей заявки.
Фиг. 3 является принципиальной схемой примера предварительно определенного алгоритма кодирования в варианте осуществления настоящей заявки.
Фиг. 4 является принципиальной схемой примера альтернативного предварительно определенного алгоритма кодирования в варианте осуществления настоящей заявки.
Фиг. 5 является аппаратной структурной схемой оборудования, выполняющего вариант осуществления настоящей заявки.
Фиг. 6 является логической структурной схемой устройства для кодирования двоичных данных в варианте осуществления настоящей заявки.
Фиг. 7 является логической структурной схемой устройства для декодирования двоичных данных в варианте осуществления настоящей заявки.
Подробное описание изобретения
В большинстве способов кодирования, символы, которым соответствуют десятичные значения 0 ~ 127, могут поддерживаться посредством различных сетевых протоколов или сетевых приложений для сетевой передачи, таких как ASCII-кодирование, UTF-7 (формат трансформации Unicode 7, 7-битовый формат трансформации Unicode) и 7-битовое кодирование равной ширины. Другими словами, после того, как двоичные файлы преобразуются в 7-битовые кодированные файлы посредством вышеприведенных способов кодирования, они могут передаваться в различных приложениях согласно различным протоколам.
7-битовое кодирование представляет собой способ кодирования, который использует наименьшие 7 битов 1 байта для того, чтобы переносить данные. 7-битовое кодирование может преобразовывать 7 байтов двоичных данных в 8 байтов кодированных данных. По сравнению с Base64-кодированием, которое преобразует 3 байта двоичных данных в 4 байта, оно имеет более высокую эффективность преобразования; кодированные файлы после преобразования меньше, что экономит трафик передачи.
Следовательно, варианты осуществления настоящей заявки предоставляют новый способ кодирования двоичных данных и соответствующий способ декодирования двоичных данных. Они предназначены для того, чтобы преобразовывать двоичные данные в 7-битовые кодированные данные и восстанавливать 7-битовые кодированные данные в двоичные данные, соответственно, чтобы уменьшать длину кодированных данных и экономить трафик, расходуемый посредством кодированных данных во время сетевой передачи, за счет этого разрешая проблемы в современных технологиях.
Варианты осуществления настоящей заявки могут применяться к любому оборудованию с вычислительными возможностями и возможностями хранения. Например, оборудование может представлять собой мобильный телефон, планшетный компьютер, PC (персональный компьютер), ноутбук, сервер, виртуальную машину либо любое другое физическое оборудование или логическое оборудование. Альтернативно, функции в вариантах осуществления настоящей заявки могут достигаться совместно посредством двух или более элементов физического или логического оборудования, допускающего различные выполняемые задачи, при этом способ кодирования и способ декодирования могут выполняться на другом оборудовании, соответственно, или на идентичном оборудовании.
В вариантах осуществления настоящей заявки, последовательность операций способа кодирования двоичных данных показана на фиг. 1.
Этап 110, получение двоичных данных.
Подлежащие преобразованию двоичные данные могут представлять собой двоичный файл или сегмент двоичных данных в качестве части файла. Ограничения на это не задаются. Двоичные данные могут считываться из местоположения хранения конкретной сети, или подлежащие преобразованию двоичные данные могут получаться из указанного кэша. Аналогично, варианты осуществления настоящей заявки не представляют ограничений на это.
Пусть длина полученных двоичных данных составляет k (k является натуральным числом) байтов.
Этап 120, преобразование k байтов двоичных данных в (k+t) байтов 7-битовых кодированных данных с использованием предварительно определенного алгоритма кодирования, где t является минимальным целым числом, большим или равным k/7.
Один байт двоичных данных имеет 8 рабочих битов, в то время как один байт 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-битовых кодированных данных, может использоваться в качестве предварительно определенного алгоритма кодирования. Варианты осуществления настоящей заявки не представляют ограничений на это.
В вариантах осуществления настоящей заявки, последовательность операций способа декодирования двоичных данных является такой, как показано на фиг. 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 байт двоичных данных состоит из 8 битов. Поскольку 7-битовое кодирование может использовать только наименьшие 7 битов в 1 байте, 1 байт двоичных данных должен выражаться с помощью 1 байта 7-битового кодирования и 1 бита в 1 дополнительном байте. 1 байт 8-битовых двоичных данных может разбиваться на 2 части. Конкретный предварительно определенный бит (он может представлять собой любой бит из "бит 0 - бит 7") используется в качестве 1 бита, выражаемого с помощью дополнительного байта, и оставшиеся 7 битов, отличные от предварительно определенного бита, выражаются с помощью 1 байта 7-битового кодирования. Другие 6 битов в дополнительном байте могут использоваться для того, чтобы переносить предварительно определенные биты 6 других байтов двоичных данных. Таким образом, каждый раз, когда 7 байтов двоичных данных преобразуются в 7-битовое кодирование, 1 байт должен добавляться, и когда меньше 7 байтов двоичных данных преобразуются в 7-битовое кодирование, 1 байт также должен добавляться. Следовательно, когда k байтов двоичных данных преобразуются в 7-битовое кодирование, t байтов должны добавляться.
В одном примере, предварительно определенный алгоритм кодирования в этом режиме реализации может работать следующим образом: извлечение предварительно определенного бита каждого байта в k байтах двоичных данных, комбинирование предварительно определенных битов в t байтов 7-битовых кодированных комбинированных битовых данных согласно заданному порядку битов, использование оставшихся 7 битов каждого байта из k байтов двоичных данных в качестве k байтов 7-битовых кодированных оставшихся битовых данных и размещение k байтов 7-битовых кодированных оставшихся битовых данных и t байтов 7-битовых кодированных комбинированных битовых данных согласно заданному порядку байтов, за счет этого получая (k+t) байтов 7-битовых кодированных данных.
Соответственно, во время декодирования, предварительно определенный алгоритм декодирования в этом режиме реализации может работать следующим образом: поскольку p равно (k+t), p байтов 7-битовых кодированных данных содержат t байтов 7-битовых кодированных комбинированных битовых данных и k байтов 7-битовых кодированных оставшихся битовых данных, размещаемых согласно заданному порядку байтов. После того, как t байтов комбинированных битовых данных и k байтов оставшихся битовых данных идентифицируются согласно заданному порядку байтов, k битов извлекаются из t байтов комбинированных битовых данных согласно заданному порядку битов, и каждый из извлеченных битов вставляется в предварительно определенный бит k байтов оставшихся битовых данных, соответствующих заданному порядку битов для бита, за счет чего получая k байтов двоичных данных.
Заданный порядок битов и заданный порядок байтов могут конфигурироваться свободно при условии, что, предварительно определенный алгоритм кодирования и предварительно определенный алгоритм декодирования используют идентичный заданный порядок битов и заданный порядок байтов. Например, заданный порядок битов может представлять собой "бит 0 - бит (s-1)" либо "бит (s-1) - бит 0" байта комбинированных битовых данных, согласно s непрерывных (s является натуральным числом, не большим 7) байтов оставшихся битовых данных, соответственно. В качестве другого примера, заданный порядок байтов может представлять собой k байтов оставшихся битовых данных перед t байтов комбинированных битовых данных либо t байтов комбинированных битовых данных перед k байтов оставшихся битовых данных, и k байтов оставшихся битовых данных размещаются согласно соответствующим двоичным данным.
Ниже предоставляются два конкретных примера вышеприведенного режима реализации:
Пример 1: Следует обратиться к фиг. 3. В предварительно определенном алгоритме кодирования, старший бит может использоваться в качестве предварительно определенного бита, и старшие биты (седьмые биты) k байтов двоичных данных формируют t байтов комбинированных битовых данных в заданном порядке битов "бит 6 - бит 0" первого байта комбинированных битовых данных, "бит 6 - бит 0" второго байта комбинированных битовых данных.... "Бит 0 - бит 6" в каждом из k байтов двоичных данных используются в качестве k байтов оставшихся битовых данных. t байтов комбинированных битовых данных размещаются перед k байтами оставшихся битовых данных, чтобы получать (k+t) байтов 7-битовых кодированных данных k байтов двоичных данных.
В предварительно определенном алгоритме декодирования первого примера, первые t байтов из p (p=k+t) байтов 7-битовых кодированных данных используются в качестве комбинированных битовых данных, и последние k байтов используются в качестве оставшихся битовых данных. k предварительно определенных битов извлекаются из t байтов комбинированных битовых данных согласно заданному порядку битов "бит 6 - бит 0" первого байта комбинированных битовых данных, "бит 6 - бит 0" второго байта комбинированных битовых данных.... Предварительно определенные биты k, извлеченные по порядку, вставляются в старшие биты k оставшихся битовых данных по очереди, чтобы получать k байтов двоичных данных.
Пример 2: Следует обратиться к фиг. 4. В другом предварительно определенном алгоритме кодирования, четвертый бит используется в качестве предварительно определенного бита, и 7 непрерывных байтов двоичных данных обрабатываются в качестве группы. Если остается меньше 7 байтов данных, то оставшиеся данные также обрабатываются в качестве группы, k байтов двоичных данных должны формировать t групп. С использованием группы в качестве единицы, предварительно определенный бит каждого байта в группе двоичных данных извлекается, 1 байт комбинированных битовых данных формируется согласно заданному порядку битов от бита 0 до бита 6, и "бит 5 - бит 7" каждого байта двоичных данных в группе сдвигаются вправо на один бит, чтобы получать 7-битовые кодированные оставшиеся битовые данные. Комбинированные битовые данные каждой группы размещаются перед оставшимися битовыми данными группы, и t групп размещаются с использованием группы в качестве единицы, чтобы получать (k+t) байтов 7-битовых кодированных данных.
В предварительно определенном алгоритме декодирования второго примера, 8 непрерывных байтов 7-битовых кодированных данных обрабатываются в качестве группы. Если остается меньше 8 байтов, то оставшиеся данные также обрабатываются в качестве группы, в таком случае p (p=k+t) байтов двоичных данных должны формировать t групп. С использованием группы в качестве единицы, при условии, что конкретная группа имеет всего (s+1) (s является натуральным числом, не большим 7) байтов, в таком случае первый байт в группе представляет собой комбинированные битовые данные, и "второй байт - (s+1)-й байт" представляет собой s байтов оставшихся битовых данных; "бит 0 - бит s" комбинированных битовых данных в группе вставляются в четвертый бит "второго байта - (s+1)-го байта", соответственно, оставшихся битовых данных в группе, чтобы получать s байты двоичных данных. Двоичные данные, полученные из каждой группы, размещаются, чтобы получать k байтов декодированных двоичных данных.
Можно видеть, что, в вариантах осуществления настоящей заявки, во время кодирования, предварительно определенный алгоритм кодирования используется для того, чтобы преобразовывать двоичные данные в 7-битовые кодированные данные, и во время декодирования, соответствующий предварительно определенный алгоритм декодирования используется для того, чтобы восстанавливать 7-битовые кодированные данные в двоичные данные. По мере того, как длина данных увеличивается приблизительно на 14,3% после того, как двоичные данные преобразуются в 7-битовые кодированные данные, что намного меньше длины, увеличенной во время Base64-кодирования, кодированные файлы, полученные после приспособления вариантов осуществления настоящей заявки, требуют меньшего объема трафика во время передачи по сети и являются подходящими для сценария применения, имеющего строгие требования.
В примере варианта применения настоящей заявки, алгоритм кодирования используется для того, чтобы преобразовывать данные изображения origin.jpg в 7-битовые ASCII-кодированные данные, и соответствующий алгоритм декодирования восстанавливает 7-битовые ASCII-кодированные данные в двоичные данные.
JavaScript-программа для достижения способа кодирования является следующей:
var buf=new Buffer(1024);//установление буферной зоны, используемой для кодирования
var data=fs.readFileSync('origin.jpg');//data являются двоичными данными изображения origin.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] and 0×80) >> (i% 7+1) );
count++;
if (i===data.length - 1 ||count % 7===0) {
body.writeUInt8(swap,++offset);
swap=0;
}
}//начиная с первого байта data, старшие биты каждых 7 байтов комбинируются, чтобы формировать ASCII-кодированные комбинированные битовые данные, где старший бит седьмого байта двоичных данных из каждых 7 байтов находится в бите 0, и старший бит первого байта двоичных данных находится в бите 6. Комбинированные битовые данные записываются в body один за другим до последнего байта data.
for (var i=0; i < data.length; i++) {
body.writeUInt8(data [i] and 0×7f, ++offset);
}//начиная с первого байта data, наименьшие 7 битов каждого байта используются для того, чтобы формировать ASCII-кодированные оставшиеся битовые данные, и они записываются в body один за другим.
Предположим, что temp является 7-битовыми кодированными данными, которые должны декодироваться, и в таком случае JavaScript-программа для достижения способа декодирования является следующей:
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)) and 0×80);
swap |=temp.readUInt8(i+temp.length - len);
buf.writeUInt8(swap, i);
}//первые (temp.length-len) байтов temp представляют собой комбинированные битовые данные, а остальные представляют собой оставшиеся битовые данные; начиная с первого байта комбинированных битовых данных, "бит 6 - бит 0" каждого байта извлекаются по очереди и вставляются в старшие биты оставшихся битовых данных по очереди и записываются в buf
Согласно реализации вышеприведенной последовательности операций, варианты осуществления настоящей заявки дополнительно предоставляют устройство для кодирования двоичных данных и устройство для декодирования двоичных данных. Эти два устройства оба могут реализовываться через программное обеспечение, через аппаратные средства либо через комбинацию аппаратных средств и программного обеспечения. При рассмотрении реализации через программное обеспечение в качестве примера, устройство в логическом смысле формируется через CPU (центральный блок обработки) элемента оборудования, который считывает соответствующие команды компьютерной программы в запоминающее устройство и выполняет их. С точки зрения аппаратных средств, в дополнение к CPU, запоминающему устройству и NVM (энергонезависимому запоминающему устройству), как показано на фиг. 5, оборудование, в котором нормально располагается устройство для кодирования двоичных данных или устройство для декодирования двоичных данных, также включает в себя другие аппаратные средства, такие как микросхема для приемо-передачи радиосигналов и/или плата для достижения функции сетевой связи.
Фиг. 6 показывает устройство для кодирования двоичных данных в варианте осуществления настоящей заявки, содержащее блок получения двоичных данных и блок 7-битового кодирования. Блок получения двоичных данных служит для получения двоичных данных, имеющих длину k байтов, где k является натуральным числом. Блок 7-битового кодирования служит для преобразования k байтов двоичных данных в (k+t) байтов 7-битовых кодированных данных с использованием предварительно определенного алгоритма кодирования, где t является минимальным целым числом, которое превышает или равно k/7.
В одном режиме реализации, предварительно определенный алгоритм кодирования содержит: извлечение предварительно определенного бита каждого байта из k байтов двоичных данных и комбинирование их в t байтов 7-битовых кодированных комбинированных битовых данных согласно заданному порядку битов, использование оставшихся 7 битов каждого байта двоичных данных в качестве k байтов 7-битовых кодированных оставшихся битовых данных и размещение k байтов 7-битовых кодированных оставшихся битовых данных и t байтов 7-битовых кодированных комбинированных битовых данных согласно заданному порядку байтов, чтобы формировать 7-битовые кодированные данные двоичных данных.
В вышеприведенном режиме реализации, заданный порядок байтов включает в себя: k байтов оставшихся битовых данных до или после t байтов комбинированных битовых данных, размещаемых согласно соответствующим двоичным данным.
В этом режиме реализации, заданный порядок битов включает в себя: использование предварительно определенных битов, извлеченных из s непрерывных байтов двоичных данных, в качестве "бит 0 - бит (s-1)" или "бит (s-1) - бит 0" 1 байта комбинированных битовых данных, где s является натуральным числом, не большим 7.
В вышеприведенном режиме реализации, предварительно определенный бит представляет собой старший бит каждого байта.
Фиг. 7 показывает устройство для декодирования двоичных данных в варианте осуществления настоящей заявки, содержащее блок получения подлежащих декодированию данных и блок 7-битового декодирования. Блок получения подлежащих декодированию данных служит для получения подлежащих декодированию 7-битовых кодированных данных, имеющих длину в p байтов, где p является натуральным числом, большим 1. Блок 7-битового декодирования служит для преобразования p байтов 7-битовых кодированных данных в (p-t) байтов двоичных данных с использованием предварительно определенного алгоритма декодирования, где t является минимальным целым числом, большим или равным p/8.
В одном режиме реализации, предварительно определенный алгоритм декодирования содержит: получение k байтов оставшихся битовых данных и t байтов комбинированных битовых данных из p байтов 7-битовых кодированных данных согласно заданному порядку байтов, где k является разностью, полученной посредством вычитания t из p; извлечение k битов из t байтов 7-битовых кодированных комбинированных битовых данных; и вставку каждого из извлеченных битов в предварительно определенный бит k байтов оставшихся битовых данных, соответствующих заданному порядку битов для бита, за счет чего получая k байтов двоичных данных.
В вышеприведенном режиме реализации, заданный порядок байтов включает в себя: k байтов оставшихся битовых данных до или после t байтов комбинированных битовых данных, размещаемых согласно соответствующим двоичным данным.
В вышеприведенном режиме реализации, заданный порядок битов включает в себя: "бит 0 - бит (s-1)" или "бит (s-1) - бит 0" 1 байта комбинированных битовых данных в соответствии с s непрерывных байтов оставшихся битовых данных, соответственно, где s является натуральным числом, не большим 7.
В вышеприведенном режиме реализации, предварительно определенный бит представляет собой старший бит каждого байта.
Вышеприведенное описание представляет собой предпочтительные варианты осуществления настоящей заявки и не имеет намерение ограничивать настоящую заявку. Все модификации, эквивалентные замены и улучшения, вносимые без отступления от сущности и принципа настоящей заявки, должны попадать в пределы объема настоящей заявки.
В типичной конфигурации, вычислительное оборудование содержит один или множество процессоров (CPU), интерфейсов ввода-вывода, сетевых интерфейсов и внутренних запоминающих устройств.
Внутреннее запоминающее устройство может иметь форму энергозависимого запоминающего устройства, оперативного запоминающего устройства (RAM) и/или энергонезависимого запоминающего устройства из числа машиночитаемых носителей, таких как постоянное запоминающее устройство (ROM) или флэш-память (флэш-RAM). Внутреннее запоминающее устройство представляет собой пример машиночитаемых носителей.
Машиночитаемые носители включают в себя энергонезависимые, энергозависимые, съемные и стационарные носители и могут осуществлять хранение информации посредством любого способа или технологии. Информация может представлять собой машиночитаемые инструкции, структуры данных, программные модули или другие данные. Примеры компьютерных носителей хранения данных включают в себя, без ограничения, оперативное запоминающее устройство на фазовых переходах (PRAM), статическое оперативное запоминающее устройство (SRAM), динамическое оперативное запоминающее устройство (DRAM) и другие типы оперативного запоминающего устройства (RAM), постоянное запоминающее устройство (ROM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), флэш-память или другие технологии запоминающих устройств, постоянное запоминающее устройство на компакт-дисках (CD-ROM), цифровой видеодиск (DVD) или другое оптическое запоминающее устройство, магнитную ленту на кассетах, запоминающее устройство на ленточных дисках или другие магнитные устройства хранения данных либо любые другие непередающие среды. Они могут использоваться для того, чтобы сохранять информацию, которая является доступной для компьютерных устройств. Согласно определению в этом документе, машиночитаемые носители не включают в себя энергозависимые среды, такие как модулированные сигналы данных и несущие.
Дополнительно следует отметить, что термины "включать в себя", "содержать" или их разновидности имеют намерение охватывать неисключительное включение таким образом, что, процесс, способ, товар или оборудование, включающее в себя последовательность элементов, не только включает в себя эти элементы, но также и включает в себя другие элементы, не определенные четко, либо также включает в себя элементы, внутренне присущие в таком процессе, способе, товаре или оборудовании. Если не ограничено в иных отношениях, элементы, заданные посредством формулировки "включать в себя один...", не исключают присутствие других, аналогичных элементов в процессе, способе, товаре или оборудования, включающем в себя элементы.
Специалисты в данной области техники должны понимать, что варианты осуществления настоящей заявки могут предоставляться в качестве способов, систем или компьютерных программных продуктов, так что настоящая заявка может приспосабливать форму чисто программного варианта осуществления, форму чисто аппаратного варианта осуществления или форму варианта осуществления, которая комбинирует программное обеспечение и аппаратные средства. Дополнительно, настоящая заявка может приспосабливать форму компьютерного программного продукта, реализованного в одном или множестве машиноприменимых носителей хранения данных (в том числе, но не только, в запоминающем устройстве на дисках, CD-ROM и оптическом запоминающем устройстве), которые содержат машиноприменимые программные коды.

Claims (28)

1. Способ кодирования двоичных данных, содержащий этапы, на которых:
получают двоичные данные, имеющие длину k байтов, где k является натуральным числом; и
преобразуют k байтов двоичных данных в (k+t) байтов 7-битовых кодированных данных с использованием предварительно определенного алгоритма кодирования, где t является минимальным целым числом, которое больше или равно k, деленному на 7.
2. Способ по п.1, в котором упомянутый предварительно определенный алгоритм кодирования содержит: извлечение предварительно определенного бита каждого байта из k байтов двоичных данных и комбинирование этих предварительно определенных битов в t байтов 7-битовых кодированных комбинированных битовых данных согласно заданному порядку битов; использование оставшихся 7 битов каждого байта из k байтов двоичных данных в качестве k байтов 7-битовых кодированных оставшихся битовых данных и размещение k байтов 7-битовых кодированных оставшихся битовых данных и t байтов 7-битовых кодированных комбинированных битовых данных согласно заданному порядку байтов для формирования 7-битовых кодированных данных двоичных данных.
3. Способ по п.2, в котором упомянутый заданный порядок байтов содержит: k байтов оставшихся битовых данных до или после t байтов комбинированных битовых данных, размещаемых согласно соответствующим двоичным данным.
4. Способ по п.2, в котором упомянутый заданный порядок битов содержит: использование предварительно определенных битов, извлеченных из s непрерывных байтов двоичных данных, в качестве битов c 0-го по (s-1)-й или битов c (s-1)-го по 0-й одного байта комбинированных битовых данных, где s является натуральным числом, не большим 7.
5. Способ по п.2, в котором упомянутый предварительно определенный бит представляет собой старший бит каждого байта.
6. Способ декодирования двоичных данных, содержащий этапы, на которых:
получают подлежащие декодированию 7-битовые кодированные данные, имеющие длину p байтов, где p является натуральным числом, большим 1; и
преобразуют p байтов 7-битовых кодированных данных в (p-t) байтов двоичных данных с использованием предварительно определенного алгоритма декодирования, где t является минимальным целым числом, которое больше или равно p, деленному на 8.
7. Способ по п.6, в котором упомянутый предварительно определенный алгоритм декодирования содержит: получение k байтов оставшихся битовых данных и t байтов комбинированных битовых данных из p байтов 7-битовых кодированных данных согласно заданному порядку байтов, где k является разностью, полученной вычитанием t из p; извлечение k битов из t байтов 7-битовых кодированных комбинированных битовых данных; и вставку каждого из извлеченных битов в предварительно определенный бит k байтов оставшихся битовых данных, соответствующий заданному порядку битов для этого бита, за счет этого получая k байтов двоичных данных.
8. Способ по п.7, в котором упомянутый заданный порядок байтов содержит: k байтов оставшихся битовых данных до или после t байтов комбинированных битовых данных, размещаемых согласно соответствующим двоичным данным.
9. Способ по п.7, в котором упомянутый заданный порядок битов содержит: биты c 0-го по (s-1)-й или биты c (s-1)-го по 0-й одного байта комбинированных битовых данных, соответствующих s непрерывным байтам оставшихся битовых данных, соответственно, где s является натуральным числом, не большим 7.
10. Способ по п.7, в котором предварительно определенный бит представляет собой старший бит каждого байта.
11. Устройство для кодирования двоичных данных, содержащее:
блок получения двоичных данных для получения двоичных данных, имеющих длину k байтов, где k является натуральным числом; и
блок 7-битового кодирования для преобразования k байтов двоичных данных в (k+t) байтов 7-битовых кодированных данных с использованием предварительно определенного алгоритма кодирования, где t является минимальным целым числом, которое больше или равно k, деленному на 7.
12. Устройство по п.11, при этом упомянутый предварительно определенный алгоритм кодирования содержит: извлечение предварительно определенного бита каждого байта из k байтов двоичных данных и комбинирование этих предварительно определенных битов в t байтов 7-битовых кодированных комбинированных битовых данных согласно заданному порядку битов; использование оставшихся 7 битов каждого байта из k байтов двоичных данных в качестве k байтов 7-битовых кодированных оставшихся битовых данных и размещение k байтов 7-битовых кодированных оставшихся битовых данных и t байтов 7-битовых кодированных комбинированных битовых данных согласно заданному порядку байтов для формирования 7-битовых кодированных данных двоичных данных.
13. Устройство по п.12, при этом упомянутый заданный порядок байтов содержит: k байтов оставшихся битовых данных до или после t байтов комбинированных битовых данных, размещаемых согласно соответствующим двоичным данным.
14. Устройство по п.12, при этом упомянутый заданный порядок битов содержит: использование предварительно определенных битов, извлеченных из s непрерывных байтов двоичных данных, в качестве битов c 0-го по (s-1)-й или битов c (s-1)-го по 0-й одного байта комбинированных битовых данных, где s является натуральным числом, не большим 7.
15. Устройство по п.12, при этом упомянутый предварительно определенный бит представляет собой старший бит каждого байта.
16. Устройство для декодирования двоичных данных, содержащее:
блок получения подлежащих декодированию данных для получения подлежащих декодированию 7-битовых кодированных данных, имеющих длину p байтов, где p является натуральным числом, большим 1; и
блок 7-битового декодирования для преобразования p байтов 7-битовых кодированных данных в (p-t) байтов двоичных данных с использованием предварительно определенного алгоритма декодирования, где t является минимальным целым числом, которое больше или равно p, деленному на 8.
17. Устройство по п.16, при этом упомянутый предварительно определенный алгоритм декодирования содержит: получение k байтов оставшихся битовых данных и t байтов комбинированных битовых данных из p байтов 7-битовых кодированных данных согласно заданному порядку байтов, где k является разностью, полученной вычитанием t из p; извлечение k битов из t байтов 7-битовых кодированных комбинированных битовых данных; и вставку каждого из извлеченных битов в предварительно определенный бит k байтов оставшихся битовых данных, соответствующий заданному порядку битов для этого бита, за счет этого получая k байтов двоичных данных.
18. Устройство по п.17, при этом упомянутый заданный порядок байтов содержит: k байтов оставшихся битовых данных до или после t байтов комбинированных битовых данных, размещаемых согласно соответствующим двоичным данным.
19. Устройство по п.17, при этом упомянутый заданный порядок битов содержит: биты c 0-го по (s-1)-й или биты c (s-1)-го по 0-й одного байта комбинированных битовых данных, соответствующих s непрерывным байтам оставшихся битовых данных, соответственно, где s является натуральным числом, не большим 7.
20. Устройство по п.17, при этом упомянутый предварительно определенный бит представляет собой старший бит каждого байта.
RU2019113976A 2016-10-11 2017-09-26 Способы и устройства для кодирования и декодирования двоичных данных RU2725763C1 (ru)

Applications Claiming Priority (3)

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

Publications (1)

Publication Number Publication Date
RU2725763C1 true RU2725763C1 (ru) 2020-07-06

Family

ID=61892693

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2019113976A RU2725763C1 (ru) 2016-10-11 2017-09-26 Способы и устройства для кодирования и декодирования двоичных данных

Country Status (16)

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

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 中交信捷科技有限公司 一种车辆红外图像的压缩与增强方法和***

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994021051A1 (en) * 1993-03-10 1994-09-15 Awacs Communications (Nz) Limited Enhanced one way radio seven bit data network
JP2000307431A (ja) * 1999-04-23 2000-11-02 Victor Co Of Japan Ltd 変調装置及び復調装置
CN1466342A (zh) * 2002-07-02 2004-01-07 深圳市中兴通讯股份有限公司 一种在网关上还原电子邮件内容的方法
CN1703108A (zh) * 2005-06-01 2005-11-30 海信集团有限公司 移动终端短消息加密的方法
CN1816170A (zh) * 2005-11-08 2006-08-09 杭州华为三康技术有限公司 短信收发的编码转换方法及其应用的网络设备
CN101080038A (zh) * 2007-06-22 2007-11-28 ***通信集团广东有限公司 一种基于ussd协议的中文信息传输方法
CN105740215A (zh) * 2016-01-23 2016-07-06 北京掌阔移动传媒科技有限公司 一种数据通信编码和解码方法

Family Cites Families (24)

* 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
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
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
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
CN100423582C (zh) * 2005-11-03 2008-10-01 浙江大学 一种用于将待编码数据进行二进制化编码的方法和装置
CN1937582B (zh) * 2006-08-11 2012-08-15 白杰 待压缩数据的预处理方法以及压缩数据的传输方法
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
CN107251438B (zh) * 2015-02-16 2020-10-30 三菱电机株式会社 数据压缩装置及方法、数据解压缩装置及方法和记录介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994021051A1 (en) * 1993-03-10 1994-09-15 Awacs Communications (Nz) Limited Enhanced one way radio seven bit data network
JP2000307431A (ja) * 1999-04-23 2000-11-02 Victor Co Of Japan Ltd 変調装置及び復調装置
CN1466342A (zh) * 2002-07-02 2004-01-07 深圳市中兴通讯股份有限公司 一种在网关上还原电子邮件内容的方法
CN1703108A (zh) * 2005-06-01 2005-11-30 海信集团有限公司 移动终端短消息加密的方法
CN1816170A (zh) * 2005-11-08 2006-08-09 杭州华为三康技术有限公司 短信收发的编码转换方法及其应用的网络设备
CN101080038A (zh) * 2007-06-22 2007-11-28 ***通信集团广东有限公司 一种基于ussd协议的中文信息传输方法
CN105740215A (zh) * 2016-01-23 2016-07-06 北京掌阔移动传媒科技有限公司 一种数据通信编码和解码方法

Also Published As

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

Similar Documents

Publication Publication Date Title
RU2725763C1 (ru) Способы и устройства для кодирования и декодирования двоичных данных
CN107395209B (zh) 数据压缩方法、数据解压缩方法及其设备
WO2016029801A1 (zh) 编码、解码方法以及编码装置和解码装置
US11463102B2 (en) Data compression method, data decompression method, and related apparatus, electronic device, and system
JP6381546B2 (ja) 多バイト・フレームのパイプライン化圧縮のための方法、符号化データ・ストリームへの高帯域圧縮のための装置、およびコンピュータ・プログラム製品
US10044370B1 (en) Lossless binary compression in a memory constrained environment
US9806741B1 (en) Character conversion
US20180041224A1 (en) Data value suffix bit level compression
US9798721B2 (en) Innovative method for text encodation in quick response code
CN114337678A (zh) 数据压缩方法、装置、设备及存储介质
US10103747B1 (en) Lossless binary compression in a memory constrained environment
US8018359B2 (en) Conversion of bit lengths into codes
US8463759B2 (en) Method and system for compressing data
CN109271797B (zh) 一种提高数据库敏感信息安全性的方法及***
US9235610B2 (en) Short string compression
CN115033549A (zh) 基于区块链的文件链接存储方法及装置
CN112114615B (zh) 一种跨时钟域数据同步电路、方法及设备
CN112395468A (zh) 一种号码管理方法、装置及电子设备和存储介质
CN113283215B (zh) 一种基于utf-32编码的数据混淆方法及装置
JP2003513313A (ja) 可変長復号
Das et al. Design an Algorithm for Data Compression using Pentaoctagesimal SNS
WO2013176814A1 (en) Short string compression
KR20080087191A (ko) 유알엘 압축 및 복원 방법

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20210303

PC41 Official registration of the transfer of exclusive right

Effective date: 20210414