IP Library Granted Patent US 7,280,055
Granted Patent B2
US 7,280,055 · App. 11/112,776 · Granted Oct 9, 2007

Method and apparatus for encoding binary data as a zero terminated string

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,280,055
App. No.
11/112,776
Granted
Oct 9, 2007
Kind
B2
Abstract

Passing input strings through an application programming interface between functions that take null byte terminated strings as arguments, where at least some of said input strings contain null bytes internally. This is accomplished by storing the positions of the null bytes relative to the start of the block and storing the non-null bytes in their relative order to prevent said internal null strings from being treated as terminal null strings.

Claims (30)

1. A method of passing input strings between functions, where said functions take null byte terminated strings as arguments, and where at least some of said input strings contain null bytes internally, and storing the positions of the null bytes relative to the start of the block and storing the non-null bytes in a defined relative order to prevent said internal null strings from being treated as terminal null strings, comprising the steps of:

a) splitting the input sequence into 255 byte long blocks;

b) determining and storing the number of null bytes plus 1;

c) storing the positions of the null bytes relative to the start of the block;

d) storing the non-null bytes in a defined relative order;

e) concatenating the processed blocks followed by a terminating null byte; and

f) providing as an output the concatenated processed blocks with a terminal null byte.

2. The method of claim 1 wherein the defined relative order is the original relative order.

3. The method of claim 1 wherein the defined relative order is the reverse of the original relative order.

4. The method of claim 1 comprising passing arbitrary input strings through an application programming interface between functions that take null byte terminated strings as arguments.

5. A program product comprising a storage medium containing computer readable program code for causing a computer to carry out a method of passing input strings between functions, where said functions take null byte terminated strings as arguments, and where at least some of said input strings contain null bytes internally, and storing the positions of the null bytes relative to the start of the block and storing the non-null bytes in their relative order to prevent said internal null strings from being treated as terminal null strings wherein said program code causes a computer to carry out a method comprising the steps of:

a) splitting the input sequence into 255 byte long blocks;

b) determining and storing the number of null bytes plus 1;

c) storing the positions of the null bytes relative to the start of the block;

d) storing the non-null bytes in a defined relative order;

e) concatenating the processed blocks followed by a terminating null byte; and

f) providing as an output the concatenated processed blocks with a terminal null byte.

6. The program product of claim 5 wherein the defined relative order is the original relative order.

7. The program product of claim 5 wherein the defined relative order is the reverse of the original relative order.

8. The program product of claim 5 wherein said program code causes a computer to carry out a method comprising passing arbitrary input strings through an application programming interface between functions that take null byte terminated strings as arguments.

9. A computer system comprising a digital computer having program storage means and data storage means and including program code for causing the computer to carry out a method of passing input strings between functions, where said functions take null byte terminated strings as arguments, and where at least some of said input strings contain null bytes internally, and storing the positions of the null bytes relative to the start of the block and storing the non-null bytes in a defined relative order to prevent said internal null strings from being treated as terminal null strings X wherein said program code causes the computer to carry out a method comprising the steps of:

a) splitting the input sequence into 255 byte long blocks;

b) determining and storing the number of null bytes plus 1;

c) storing the positions of the null bytes relative to the start of the block;

d) storing the non-null bytes in their defined order;

e) concatenating the processed blocks followed by a terminating null byte; and

f) providing as an output the concatenated processed blocks with a terminal null byte.

10. The computer system of claim 9 wherein the defined relative order is the original relative order.

11. The computer system of claim 9 wherein the defined relative order is the reverse of the original relative order.

12. The computer system of claim 9 wherein said program code causes the computer to carry out a method comprising passing null byte terminated input strings through an application programming interface between functions that take null byte terminated strings as arguments.

Assignments (3)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044127/0735 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2011
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GOOGLE INC.
Reel/Frame 026664/0866 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2005
From: DRASNY, GABOR
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 016637/0376 →