Binary to ASCII

W

Wrecked

Could someone suggest a method to convert a Binary data to an ASCII
data, with very less or no increase in the memory . The problem
basically is there is an excrypted message which needs to be
transmitted via SMS (mobiles). SMS supports only transmitting of
printable char ie ASCII characters. I do know methords where in after
conversion the size becomes twice the original data. Does some one know
any better, optimal way to do the conversion.
 
R

Richard Heathfield

Wrecked said:
Could someone suggest a method to convert a Binary data to an ASCII
data, with very less or no increase in the memory . The problem
basically is there is an excrypted message which needs to be
transmitted via SMS (mobiles). SMS supports only transmitting of
printable char ie ASCII characters. I do know methords where in after
conversion the size becomes twice the original data. Does some one know
any better, optimal way to do the conversion.

Base 64 encoding is the canonical way to represent arbitrary data in text
format. Since it can only represent six bits with a single character,
however, you will have to put up with a 33% increase in data size. This
sure beats double, right?
 
W

Wrecked

thanks for that.. but is that the best we could get.. since i will have
to transmit data via SMS, memory is bit constraint
 
I

Ico

Wrecked said:
thanks for that.. but is that the best we could get.. since i will have
to transmit data via SMS, memory is bit constraint

You probably can not go much lower then base64 (about 33% size
increase). base64 uses only alphanumeric characters [a-zA-Z0-9]: if
you're transport mechanism allows for more symbols, you could implement
your own encoding, similar to base64, but with more characters.

If that's still to much for you, you could consider some simple
compression with a fixed huffman table, and base64 encode the compressed
data.

P.S. Please include context of the message you are replying to: quote
the relevant parts. If you insist on using the broken google-interface,
learn the following simple trick: if you reply to a message, first click
'options', then 'reply'. Google will now include the quoted message you
are replying to.
 
J

Jordan Abel

Wrecked said:
thanks for that.. but is that the best we could get.. since i will have
to transmit data via SMS, memory is bit constraint

You probably can not go much lower then base64 (about 33% size
increase). base64 uses only alphanumeric characters [a-zA-Z0-9]: if
you're transport mechanism allows for more symbols, you could implement
your own encoding, similar to base64, but with more characters.

Look up "Ascii85" - it's used for binary data in PDF files.

http://en.wikipedia.org/wiki/Ascii85

Each group of four bytes is encoded as five ascii characters.
 
V

Vladimir Oka

Wrecked said:
Could someone suggest a method to convert a Binary data to an ASCII
data, with very less or no increase in the memory . The problem
basically is there is an excrypted message which needs to be
transmitted via SMS (mobiles). SMS supports only transmitting of
printable char ie ASCII characters. I do know methords where in after
conversion the size becomes twice the original data. Does some one know
any better, optimal way to do the conversion.

I would suggest you do a better research on SMS messages. It is
entirely off-topic here, but you're wrong in thinking you can only use
ASCII. I don't know which group discusses this (I have a guru on site),
but:

<OT style="way way OT, regulars stop reading NOW">
I suggest you look at the following:

[1]
New ETSI TS 100 901
V7.4.0 (1999-12) Digital cellular telecommunications system (Phase 2+)
Technical realization of the Short Message Service (SMS)
(GSM 03.40 version 7.4.0 Release 1998)

[2]
New ETSI TS 100 900
V7.2.0 (1999-07)
Digital cellular telecommunications system (Phase 2+);
Alphabets and language-specific information
(GSM 03.38 version 7.2.0 Release 1998)

[3] GSM 07.05 version 5.5.0
ETSI Digital cellular telecommunications system (Phase 2+);
Use of Data Terminal Equipment - Data Circuit terminating;
Equipment (DTE - DCE) interface for
Short Message Service (SMS) and Cell Broadcast Service (CBS)

[4] www.nobbi.com PDUspy: PDU de/encoder (English) (great program,
includes access to the mobile phone's SMS via data cable),
Also: At command and PDU Information (German),
more GSM Software

New / replacment Spec. , see also www.3gpp.org or ETSI

[1] 3GPP TS 23.040
Used version:
4.4.0 Release 4 Also aviable at ETSI (ETSI TS 123 038,
or look at UTMS Spec. TS 23.040)

[2] 3GPP TS 23.038
Used version:
4.3.0 Release Also available at ETSI (ETSI TS 123 038,
or look at UTMS Spec. TS 23.038)
</OT>
 
V

Vladimir Oka

Vladimir said:
I would suggest you do a better research on SMS messages. It is
entirely off-topic here, but you're wrong in thinking you can only use
ASCII. I don't know which group discusses this (I have a guru on site),
but:

Apologies. I totally glossed over the bit where you said you knew this
stuff.
 
B

Ben Bacarisse

Could someone suggest a method to convert a Binary data to an ASCII data,
with very less or no increase in the memory . The problem basically is
there is an excrypted message which needs to be transmitted via SMS
(mobiles). SMS supports only transmitting of printable char ie ASCII
characters. I do know methords where in after conversion the size becomes
twice the original data. Does some one know any better, optimal way to do
the conversion.

Off topic, of course. An excellent example of why you'll get better
advice in a specialist group:

<OT (and not from an SMS expert)>
Doing any such conversion (you've had some good references already) is bit
peculiar. The reason is that 7-bit character data is sent in an SMS as
full octets by taking the "top" bits from following characters to pad out
the unused bits! This is why SMS can send either 160 "text" characters,
140 octets or 70 16-bit "wide" characters.

You are probably better off just sending the bytes as they are though, of
course, you get to send only 140 of them. Of course, if you can't
persuade your device to take the data, you may be forced into an "encoding"
in which case the best is simply to reverse the packing that SMS does:
just take seven bits at a time from your data, treating is as a bit
stream. The message system will then dutifully recreate your binary data
(though it will, of course, re-expand it for display on the receiving
phone).
</OT>
 
B

Barry

Vladimir Oka said:
Could someone suggest a method to convert a Binary data to an ASCII
data, with very less or no increase in the memory . The problem
basically is there is an excrypted message which needs to be
transmitted via SMS (mobiles). SMS supports only transmitting of
printable char ie ASCII characters. I do know methords where in after
conversion the size becomes twice the original data. Does some one know
any better, optimal way to do the conversion.

I would suggest you do a better research on SMS messages. It is
entirely off-topic here, but you're wrong in thinking you can only use
ASCII. I don't know which group discusses this (I have a guru on site),
but:

<OT style="way way OT, regulars stop reading NOW">
I suggest you look at the following:

[1]
New ETSI TS 100 901
V7.4.0 (1999-12) Digital cellular telecommunications system (Phase 2+)
Technical realization of the Short Message Service (SMS)
(GSM 03.40 version 7.4.0 Release 1998)

[2]
New ETSI TS 100 900
V7.2.0 (1999-07)
Digital cellular telecommunications system (Phase 2+);
Alphabets and language-specific information
(GSM 03.38 version 7.2.0 Release 1998)

[3] GSM 07.05 version 5.5.0
ETSI Digital cellular telecommunications system (Phase 2+);
Use of Data Terminal Equipment - Data Circuit terminating;
Equipment (DTE - DCE) interface for
Short Message Service (SMS) and Cell Broadcast Service (CBS)

[4] www.nobbi.com PDUspy: PDU de/encoder (English) (great program,
includes access to the mobile phone's SMS via data cable),
Also: At command and PDU Information (German),
more GSM Software

New / replacment Spec. , see also www.3gpp.org or ETSI

[1] 3GPP TS 23.040
Used version:
4.4.0 Release 4 Also aviable at ETSI (ETSI TS 123 038,
or look at UTMS Spec. TS 23.040)

[2] 3GPP TS 23.038
Used version:
4.3.0 Release Also available at ETSI (ETSI TS 123 038,
or look at UTMS Spec. TS 23.038)
</OT>

You need to develop a consistent method of replying to off
topic subjects.
 
J

jdorrington

Wrecked said:
Could someone suggest a method to convert a Binary data to an ASCII
data, with very less or no increase in the memory . The problem
basically is there is an excrypted message which needs to be
transmitted via SMS (mobiles). SMS supports only transmitting of
printable char ie ASCII characters. I do know methords where in after
conversion the size becomes twice the original data. Does some one know
any better, optimal way to do the conversion.

yEnc? http://en.wikipedia.org/wiki/YEnc
ASCII85? http://en.wikipedia.org/wiki/Ascii85
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,982
Messages
2,570,186
Members
46,740
Latest member
JudsonFrie

Latest Threads

Top