473,411 Members | 2,230 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,411 software developers and data experts.

Symbian C++ MIME Decoding/Encoding Code

Hi ,

I'm looking for code (Symbian C++) that can do the following things:

1-Analyzing the (MIME) types (Content-typemContent-transfere-encoding,Mime Version,Conent Description).
2-Download attached files from the (MMS/Email).
3-Uploading to email or (MMS) .
4-Dealing with Multi-Part Messages.

Here Is A Methods That Can HelP In doing Decoding:

Expand|Select|Wrap|Line Numbers
  1.  
  2. TInt CMimCodeBase::DecodeBase64Char(TInt nCode)
  3.     if (nCode >= 'A' && nCode <= 'Z')
  4.         return nCode - 'A';
  5.     if (nCode >= 'a' && nCode <= 'z')
  6.         return nCode - 'a' + 26;
  7.     if (nCode >= '0' && nCode <= '9')
  8.         return nCode - '0' + 52;
  9.     if (nCode == '+')
  10.         return 62;
  11.     if (nCode == '/')
  12.         return 63;
  13.     return 64;
  14. }
  15. TInt CMimCodeBase::DecodeBase64(TUint* pbOutput, TInt nMaxSize)
  16. {
  17.     //const unsigned char* pbData = m_pbInput;
  18.     TUint* pbData = m_pbInput;
  19.     TUint* pbEnd = m_pbInput + m_nInputSize;
  20.     //unsigned char* pbOutStart = pbOutput;
  21.     TUint* pbOutStart = pbOutput;
  22.     //unsigned char* pbOutEnd = pbOutput + nMaxSize;
  23.     TUint* pbOutEnd = pbOutput+ nMaxSize;
  24.     TInt nFrom = 0;
  25.     //unsigned char chHighBits = 0;
  26.     TUint chHighBits = 0;
  27.     while (pbData < pbEnd)
  28.     {
  29.         if (pbOutput >= pbOutEnd)
  30.             break;
  31.         //unsigned char ch = *pbData++;
  32.         TUint ch = *pbData++;
  33.         if (ch == '\r' || ch == '\n')
  34.             continue;
  35.         //ch = (unsigned char) DecodeBase64Char(ch);
  36.         ch = (TUint) DecodeBase64Char(ch);
  37.         if (ch >= 64)                // invalid encoding, or trailing pad '='
  38.             break;
  39.  
  40.         switch ((nFrom++) % 4)///--->Mod
  41.         {
  42.         case 0:
  43.             chHighBits = ch << 2;//---->shif lif
  44.             break;
  45.  
  46.         case 1:
  47.             *pbOutput++ = chHighBits | (ch >> 4);///---->shift right
  48.             chHighBits = ch << 4;
  49.             break;
  50.  
  51.         case 2:
  52.             *pbOutput++ = chHighBits | (ch >> 2);//------->
  53.             chHighBits = ch << 6;
  54.             break;
  55.  
  56.         default:
  57.             *pbOutput++ = chHighBits | ch;
  58.         }
  59.     }
  60.  
  61.     //return (int)(pbOutput - pbOutStart);
  62.     return (TInt)(pbOutput - pbOutStart);
  63. }///-------------------->
  64. void CMimCodeBase::SetInput(TUint* pbInput, TInt nInputSize, TBool bEncoding)
  65. {
  66.     //m_pbInput = (const unsigned char*) pbInput;
  67.     m_pbInput=pbInput;//pbInput.AllocL();
  68.     m_nInputSize = nInputSize;
  69.     m_bIsEncoding = bEncoding;
  70. }
  71. TInt CMimCodeBase::GetDecodeLength() 
  72. {
  73.     return m_nInputSize * 3 / 4 + 2;
  74. }
  75.  
  76.  
The Problem Is I'm Not able to know How To Use This Methods?

And Here Is A case for Email Attachment Need To Be Decoded And Saved Into the Hard Disk CanAny Body Let Me Know How To Code It Perfectly.

[HTML] This is a multi-part message in MIME format.

--Boundary_(ID_1OjO8r3ErxPyOk9tXRkEnQ)
Content-type: multipart/alternative;
boundary="Boundary_(ID_7oe8+k4uUDkoNNcclUAkTQ)"


--Boundary_(ID_7oe8+k4uUDkoNNcclUAkTQ)
Content-type: text/plain; charset=windows-1256
Content-transfer-encoding: 7BIT

Ok Please Read the PDF file

--Boundary_(ID_7oe8+k4uUDkoNNcclUAkTQ)
Content-type: text/html; charset=windows-1256
Content-transfer-encoding: 7BIT

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML DIR=rtl><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1256"></HEAD><BODY><DIV><FONT face='Arial' color=#000000 size=2>Ok Please Read the PDF file</FONT></DIV></BODY></HTML>

--Boundary_(ID_7oe8+k4uUDkoNNcclUAkTQ)--

--Boundary_(ID_1OjO8r3ErxPyOk9tXRkEnQ)
Content-type: application/pdf;
name="4925 Abstract-Paul Soffe and Enric Arderiu 8-23-06 R&A 09_06.pdf"
Content-transfer-encoding: base64
Content-disposition: attachment;
filename="4925 Abstract-Paul Soffe and Enric Arderiu 8-23-06 R&A 09_06.pdf"
Content-description: 4925 Abstract-Paul Soffe and Enric Arderiu 8-23-06 R&A
09_06.pdf

JVBERi0xLjQNJeLjz9MNCjU3IDAgb2JqPDwvSFs1OTYgMTgwXS 9MaW5lYXJpemVkIDEvRSA4NzIw
L0wgMTU1MjUvTiAxL08gNjAvVCAxNDMzOD4+DWVuZG9iag0gIC AgICAgICAgICAgICAgICAgICAg
DQp4cmVmDQo1NyAxNQ0KMDAwMDAwMDAxNiAwMDAwMCBuDQowMD AwMDAwOTQyIDAwMDAwIG4NCjAw
MDAwMDA1OTYgMDAwMDAgbg0KMDAwMDAwMTE4OSAwMDAwMCBuDQ owMDAwMDAxNDQyIDAwMDAwIG4N
CjAwMDAwMDE4MzQgMDAwMDAgbg0KMDAwMDAwMjM0MCAwMDAwMC BuDQowMDAwMDAyMzc0IDAwMDAw
IG4NCjAwMDAwMDUxMzAgMDAwMDAgbg0KMDAwMDAwNTI4OCAwMD AwMCBuDQowMDAwMDA3OTU3IDAw
MDAwIG4NCjAwMDAwMDgxOTYgMDAwMDAgbg0KMDAwMDAwODQyMy AwMDAwMCBuDQowMDAwMDA4NjQ0
IDAwMDAwIG4NCjAwMDAwMDA3NzYgMDAwMDAgbg0KdHJhaWxlcg 0KPDwvU2l6ZSA3Mi9QcmV2IDE0
MzI3L1hSZWZTdG0gNzc2L1Jvb3QgNTggMCBSL0luZm8gOCAwIF IvSURbPDNmMzZjMzA0YzY5Mzg0
ZTIwNzdiZTZmY2NmNGViYmMwPjwyOTlkNmZjMWQ5ZmYwNDQzOD MzNTJiNTliZTA1YjBlZT5dPj4N
CnN0YXJ0eHJlZg0KMA0KJSVFT0YNCiAgDQo1OSAwIG9iajw8L0 xlbmd0aCA5MS9GaWx0ZXIvRmxh
dGVEZWNvZGUvQyAxMTQvTCA5OC9PIDgyL1MgMzk+PnN0cmVhbQ 0KeNpiYGDgZmBg/sgABLLZDKiA
GYhZGDgaGBiRBLmhmIFBiYGHd2OabAPDKoWaJRvO8gjsZloAlg AqV4wB0kxAvAFsBoPqBCjfAmKu
Eg9EHXMLxFSAAAMAEUgL2Q0KZW5kc3RyZWFtDWVuZG9iag03MS AwIG9iajw8L1NpemUgNTcvTGVu
Z3RoIDIwL0ZpbHRlci9GbGF0ZURlY29kZS9EZWNvZGVQYXJtcz w8L0NvbHVtbnMgMy9QcmVkaWN0
b3IgMTI+Pi9XWzEgMSAxXS9UeXBlL1hSZWYvSW5kZXhbOSA0OF 0+PnN0cmVhbQ0KeNpiYmJmYGJg
YByqGCDAADpLAJUNCmVuZHN0cmVhbQ1lbmRvYmoNNTggMCBvYm o8PC9QYWdlcyA2IDAgUi9PdXRs
aW5lcyAxIDAgUi9UeXBlL0NhdGFsb2cvUGFnZUxhYmVscyA0ID AgUi9TdHJ1Y3RUcmVlUm9vdCA5
IDAgUi9NZXRhZGF0YSA3IDAgUi9QaWVjZUluZm88PC9NYXJrZW RQREY8PC9MYXN0TW9kaWZpZWQo
RDoyMDA2MDgyMzA5NDQyNSk+Pj4+L0xhc3RNb2RpZmllZChEOj IwMDYwODIzMDk0NDI1KS9NYXJr
SW5mbzw8L01hcmtlZCB0cnVlL0xldHRlcnNwYWNlRmxhZ3MgMD 4+Pj4NZW5kb2JqDTYwIDAgb2Jq
PDwvQ29udGVudHMgNjQgMCBSL1R5cGUvUGFnZS9QYXJlbnQgNi AwIFIvUm90YXRlIDAvTWVkaWFC
b3hbMCAwIDYxMiA3OTJdL0Nyb3BCb3hbMCAwIDYxMiA3OTJdL1 Jlc291cmNlczw8L0NvbG9yU3Bh
Y2U8PC9DUzAgNjMgMCBSPj4vRm9udDw8L1RUMiA2NSAwIFIvVF QwIDYxIDAgUi9UVDEgNjIgMCBS
Pj4vUHJvY1NldFsvUERGL1RleHRdL0V4dEdTdGF0ZTw8L0dTMC A3MCAwIFI+Pj4+L1N0cnVjdFBh
cmVudHMgMD4+DWVuZG9iag02MSAwIG9iajw8L1R5cGUvRm9udC 9FbmNvZGluZy9XaW5BbnNpRW5j
b2RpbmcvQmFzZUZvbnQvQXJpYWwtQm9sZE1UL0ZpcnN0Q2hhci AzMi9MYXN0Q2hhciAxMjEvU3Vi
dHlwZS9UcnVlVHlwZS9Gb250RGVzY3JpcHRvciA2OCAwIFIvV2 lkdGhzWzI3OCAwIDAgMCAwIDAg
MCAwIDAgMCAwIDAgMCAzMzMgMCAwIDAgMCAwIDAgMCAwIDAgMC AwIDAgMCAwIDAgMCAwIDAgMCA3
MjIgNzIyIDcyMiAwIDY2NyAwIDAgMCAwIDAgMCAwIDAgMCAwID Y2NyAwIDcyMiA2NjcgNjExIDAg
MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDU1NiA2MTEgNTU2IDYxMS A1NTYgMzMzIDYxMSA2MTEgMjc4
IDI3OCAwIDI3OCA4ODkgNjExIDYxMSA2MTEgMCAzODkgNTU2ID MzMyA2MTEgNTU2IDAgMCA1NTZd
Pj4NZW5kb2JqDTYyIDAgb2JqPDwvVHlwZS9Gb250L0VuY29kaW 5nL1dpbkFuc2lFbmNvZGluZy9C
YXNlRm9udC9BcmlhbE1UL0ZpcnN0Q2hhciAzMi9MYXN0Q2hhci AxNDYvU3VidHlwZS9UcnVlVHlw
ZS9Gb250RGVzY3JpcHRvciA2OSAwIFIvV2lkdGhzWzI3OCAwID AgMCAwIDg4OSAwIDAgMzMzIDMz
MyAwIDAgMjc4IDMzMyAyNzggMjc4IDU1NiA1NTYgNTU2IDU1Ni A1NTYgNTU2IDAgNTU2IDU1NiA1
NTYgMjc4IDI3OCAwIDAgMCAwIDEwMTUgNjY3IDAgNzIyIDcyMi A2NjcgNjExIDc3OCA3MjIgMjc4
IDUwMCA2NjcgMCA4MzMgNzIyIDc3OCA2NjcgMCA3MjIgNjY3ID YxMSA3MjIgMCAwIDY2NyAwIDAg
MCAwIDAgMCAwIDAgNTU2IDU1NiA1MDAgNTU2IDU1NiAyNzggNT U2IDU1NiAyMjIgMjIyIDUwMCAy
MjIgODMzIDU1NiA1NTYgNTU2IDU1NiAzMzMgNTAwIDI3OCA1NT YgNTAwIDcyMiA1MDAgNTAwIDAg
MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC AwIDAgMCAwIDIyMl0+Pg1lbmRv
YmoNNjMgMCBvYmpbL0lDQ0Jhc2VkIDY2IDAgUl0NZW5kb2JqDT Y0IDAgb2JqPDwvTGVuZ3RoIDI2
ODYvRmlsdGVyL0ZsYXRlRGVjb2RlPj5zdHJlYW0NCkiJlFdrj9 vGFf2+v2K+BJCKFc3hm2kQdCNv
XMdwatgKUCDbDxQ5ksahSHZIab399T33Dklpdymlhdd8iZz7Ov ecO28+iR9+ePNx+f6tcMWPP/70
dilu3iy/uCJv8YD+iTavbqTQeP4Oz7ftzU+rmzerlSukWG1uFq7jum4sVr ngq0isHumrVSukS+f/
4G5lhIwc1+MF7VXqOWEiYjd06JP9zezTYV3qfNEYfcw6JZrMdJ Uy7U43rcjwJ45qp/NSiU1thMpM
+SQaU39VeSfmq6+9H1KSeemEXoLLhXRkkCZiVdzMVLXLqlztVd WJrCp4lUw0das7fYQ5o3JV0I+t
6jpdbXnR+9XN/UfKyClLcsjSRBYCygJfeuyGO4bMV56fOF6YpqmIYt9J+AqR/z4Tn7JDKb7Um40S
2Tycwb37yuhc3JliHs3UfCFnRh/E/F+rX6Z88p77JM998k4+TTsVIVuBG3giCiV94HvWqfu8/qLg
TD5f+LODQZrorhXvTH1ocHXRG/+KN1Sf3p3En3QnRo48Nw5F5KfkmB9bdGTmD7FEfUxW3l6qTXDF
cjgalqmctBxGTuJKFDHyEjzoEzEL3DeBFGz/HoX50hmluosuhFdciE8uROmkCylVQHoIHk0SomQM
kNk/vgGtxa24ZDS6YtQ/ZdyT04HHrhMkEi9G1I1IeWAR8FulO1WID+gG1LvA/5qQuHculj6edOSV
H/GkG0nsSFeGoQhTHw08Bv9PLPPL20uxJxdNWqy5lzoxSmTiiTDx uEuiHvRzf7bgIDNdfj8PZrra
4FijC/+Gs8rpqlU45Acc0BX0ztybqdaZS5eaxZvV+4sJSp976/XekqMvfUwtVmMRoj4RAGxp8iIv
uZPEdOIl6TugQl6fr7wopv5ypQjD0JEJ5wsG7n76svp8t1xdND TNgO6UjSR1QHIRSopmlpaCrsXg
TS79OjMi9CInDgaXL653hYqAeKtZHnyb7AsyI0PHQ2Zii47lfB FTD4ChUehkpgw9qOiByNZ0qg90
7AT/oOeLYNbSi3yFLuIX+Q3CyZ6X4heauZzt6E7RwX7NJgRBjS7Ozf LluIyxK2r7BiOPq5728QUJ
E7/nOWC+iBqiQCytIChvgHexBaNVuNnVhwHdYpvxuSUDcDkiTcKx2 yltRKHKOdzolNE414dWnKxG
1qoMk5izuhjsQowDSjQZ1/smy7t52q9PnlRii2OJPNTrrOSwS73HJEDe7MiDVjTUcrbDGvoa 5ASH
xOB0Zqwbgwep38cdJm4yxJ3vWPr389jqarerC9Y1empI4ooDqZ 6ucNzSG31+Qs4P3lRIDn/B1qZV
djFY5agjEnoyrva6bXVd8ee6EqATXHVCQflznkMes6fWEe8rBK Zb/F516hupzcnUa0L3YEOm3hDh
FutUnBiFAWr7JDSll2NVVUtGskHWYZJ0HVjY8AcfdVGUahT3xb Dyee3us9ZOUO/w3oGWLTfis9pq
ioXN3IpWbyuyutF5hpGqqWG5owcZvy/UN9127ZX8wbAfhf4QEhenA9bg45IdzCrxVh1VWTd7Ndjt
xEceWHbZ8ES3e0LHw2z59uPD3BEXeVlOjw7uRQUBOQSgTchUGl/noGsTQS9Rjpv64SUOCoKAu9m3
HPSeAqcoFUF4TVHSrYEOCZmmuIxvhYxxdrmJ6gNmJju6UcXpWW GyTWd7h0r94em8bWAo6CuQJNEI
qrqrxSeD4wCdmnu0wGAINzAuU87FHqNR3zi460GF13779Wccl/BxuXRO2GIDzztkhQ/2NRCmKbym
Nh0BKBvcbzj0blj6w9Po1+AUuWMjpReyom7AjBU5gW/Wuipotue+2+

--Boundary_(ID_1OjO8r3ErxPyOk9tXRkEnQ)--
[/HTML]
Oct 20 '06 #1
0 2493

Sign in to post your reply or Sign up for a free account.

Similar topics

6
by: matt roberts | last post by:
Hello, I am parsing a mailbox using the imap functions, pulling out images attached and putting them into mySQL as BLOB fields. I am having problems displaying images once they are stored in...
1
by: Thomas Williams | last post by:
Hello everyone, my name is Tom W. And, I am new to the list, and have been using Python for about a year now. Anyway, I got a question! I am trying to decode MIME (base64) email from a POP3...
40
by: Peter Row | last post by:
Hi all, Here is my problem: I have a SQL Server 2000 DB with various NVarChar, NText fields in its tables. For some stupid reason the data was inserted into these fields in UTF8 encoding. ...
0
by: Johann Blake | last post by:
In my need to decode a JPEG 2000 file, I discovered like many that there was no functionality for this in the .NET Framework. Instead of forking out a pile of cash to do this, I came up with the...
5
by: Peter Jansson | last post by:
Hello group, The following code is an attempt to perform URL-decoding of URL-encoded string. Note that std::istringstream is used within the switch, within the loop. Three main issues have been...
3
by: b. dougherty | last post by:
Greetings all- I am trying to extract subject headers from emails that have been saved as text files. The subject headers are in MIME UTF-8 format, and so they appear like this: subject:...
9
by: KWSW | last post by:
Having settled the huffman encoding/decoding and channel modeling(thanks to the previous part on bitwise operation), the last part would be hamming encoding/decoding. Did some research as usual on...
0
by: shilpab | last post by:
My query is regarding the decoding classes available in Exchange 2007. I am working on a problem where I want to decode a TNEF encoded MIME message. I am using the class Base64Decode in...
0
by: Michele | last post by:
Hi there, I'm using a python script in conjunction with a JPype, to run java classes. So, here's the code: from jpype import * import os import random import math import sys
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.