IP Library Granted Patent US 7,375,658
Granted Patent B2
US 7,375,658 · App. 11/766,917 · Granted May 20, 2008

Method and apparatus for data encoding

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,375,658
App. No.
11/766,917
Granted
May 20, 2008
Kind
B2
Abstract

A method and apparatus for data encoding such as 3 to 4 encoding (base64, uuencode etc.) is provided. Bytes of data to be encoded having negative values are made positive while preserving the information to be encoded. The positive values may be manipulated by addition (e.g. to a common store) and bit shifting to efficiently obtain encoded data such as by indexing an encoding alphabet.

Claims (23)

1. A method for encoding data in a data communication device, the method comprising steps of:

obtaining a portion of data to be encoded, the portion being three bytes in length and comprising at least one byte of signed data in two's complement representation;

converting each byte of signed data to a respective data store;

for each byte of signed data having a negative value, adding 256 to the respective data store;

collecting each data store into a respective portion of a common store in accordance with an order of the respective byte in the portion of data, the common store being four bytes in length;

encoding successive 6-bit portions of the common store using a Base64 alphabet to obtain encoded byte data; and

transmitting the encoded byte data over a communications network to another data communication device.

2. The method of claim 1 , wherein a data type of each data store is the same as that of the common store.

3. The method of claim 1 , wherein the data type is an ‘integer’ data type.

4. The method of claim 1 , wherein the step of collecting each data store into a respective portion of the common store comprises, for each data store:

calculating a starting bit position based on the order of the respective byte in the portion of data; and

adding the data store into the common store beginning at the calculated starting bit position.

5. The method of claim 1 , wherein the step of encoding each successive 6-bit portion of the common store comprises steps of:

extracting each successive 6-bit portion from the common store; and

mapping the extracted 6-bit portion to a corresponding character of the Base64 alphabet.

6. The method of claim 5 , wherein the step of extracting each successive 6-bit portion from the common store comprises steps of:

bit shifting the common store; and

bit masking the bit-shifted common store.

7. The method of claim 1 , further comprising a step of padding the encoded byte data.

8. The method of claim 7 , wherein the step of padding the encoded byte data comprises steps of:

determining a number of bytes of signed data within the portion to be encoded;

determining a required number of padding characters, the required number being a difference between the length of the portion, in bytes, and the number of bytes (202) of signed data to be encoded; and

inserting the required number of a predetermined padding character of the Base64 alphabet into the encoded byte data.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Nov 6, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034179/0923 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2007
From: LUO, ZHONG HAI
To: RESEARCH IN MOTION LIMITED
Reel/Frame 019469/0887 →