Base 64 encoding, Computer Networking

Assignment Help:

Base 64 Encoding

The Simple Mail Transfer Protocol (SMTP) is a protocol used on the Internet for sending email. When you send an email, your mail client establishes an SMTP connection to your outgoing mail server, and sends the email to the server. Mail servers also use SMTP to transfer email amongst themselves. Being a relatively old protocol, SMTP supports only 7-bit ASCII characters, meaning that only a total of 27 = 128 characters can be represented in our email (0 to 127). If you take a look at www.asciitable.com, you can see that this is only sufficient for representing the characters in the English language. What if we want to send text in other languages that use different characters. What if we want to attach a picture to an email? The pixels in that picture could be represented by values outside the range of 0 - 127, so how can we send the picture using an email protocol that only accepts characters between the ASCII values of 0 and 127? The answer is that we have to encode non-ASCII data into 7-bit ASCII. We can then send the encoded data in our email and it will be safely transmitted and received, since all the binary data within it will be encoded in 7-bit ASCII characters. When our email reaches its destination, any encoded data within it must then be decoded by the recipient's mail client. One common method of encoding data that falls outside the range of 7-bit ASCII is base 64 encoding. Just as we can take binary data and represent it in decimal (10 digits), hexadecimal (16 digits), or octal (8 digits), we can also take it and represent it in base 64, which represents data using 64 different characters: A through Z , a through z , 0 through 9 , and + and / . Taking a look at an ASCII table, one can see that all of these characters can be represented in 7 bits, meaning we can safely send base 64 encoded data via email. As an example, suppose that you receive an email. You can see that the email has an image attachment, but how was that image sent when SMTP only supports 7-bit ASCII characters. Most email clients allow you to view the raw source of an email. Observe that the attachment is encoded within what is called a MIME1 message part. This part contains information for the mail client, such as the name of the file attachment ( filename=DSC00625.JPG ), the type of file attached ( Content-Type: IMAGE/JPG; ), and the type of encoding used to encode the con- tents of the file ( Content-Transfer-Encoding: BASE64 ). As you can see, base 64 was used to encode the content of the image. Next comes the actual encoded content of the file: /9j/4VKCRXhp... . This is the content of the image, encoded in base 64 representation. When your mail client receives a message with a MIME message part such as this, it knows what type of attachment it is ( Content-Type ), how to decode it ( Content-Transfer-Encoding ), and what to name the attachment ( filename ). Since all 64 characters in base 64 can be represented in 7-bit ASCII, it is safe to send a message containing base 64 encoded data via SMTP.

In this assignment, you'll be developing a SPARC assembly language program to encode data (e.g. strings and the contents of binary files) into base 64 representation.

Task:

Your task for this assignment is to write a SPARC assembly language program that reads data from standard input and outputs the base 64-encoded representation of the data. To accomplish this task, you will write a main program and two functions, as described in the following sections. Note: this assignment has been designed to be performed in the order given below. That is, write the get_b64_char function first, then the get_b64_str function, and then the main program.


Related Discussions:- Base 64 encoding

Define co-axial cable, Define Co-axial cable. A solid central conducto...

Define Co-axial cable. A solid central conductor surrounded by insulating material and then by a cylindrical shield woven from fine wires is called as co-axial cable. The shie

Filtering incoming frames, FILTERING INCOMING FRAMES: An analyzer may ...

FILTERING INCOMING FRAMES: An analyzer may be configured to process and filter frames. It may count frames of a specific size or type. It may also shows only frames from or to

Effectiveness of data communications, Efficiency of a data communications s...

Efficiency of a data communications system depends on three fundamental characteristics - Delivery: The system should deliver data to the correct destination. Data should be r

Show the function of signals, Q. Show the Function of Signals? - TD tra...

Q. Show the Function of Signals? - TD transmitted data - RD received data - DSR data set ready Indicate whether DCE is powered on - DTR signifies data termi

Explain 10base2 - thinnet, 10Base2 - Thinnet Cable diameter is abou...

10Base2 - Thinnet Cable diameter is about 0.64 cm (RG-58) More flexible as well as easier to handle and install than Thicknet "2" represents a maximum segment len

Difference among flow control and error control, What is the difference am...

What is the difference among  flow control and error control?    Ans) Flow control: adjust and confirm data flow rate for successful transmission. Error Control: a method to

Error correcting code - hamming code, Error Correcting Code - Hamming Code:...

Error Correcting Code - Hamming Code: Hamming code is the one of the error-correcting code named after its inventor. Because of the simplicity of the hamming code, it can dete

Tcp segment structure - transport layer, TCP Segment Structure Figure ...

TCP Segment Structure Figure shows the format of the TCP segment. The  header consists  of a 20 bytes  fixed  part  plus a variable size  options fields. The description  o

Show the network layer responsibilities, Q. Show the Network Layer Responsi...

Q. Show the Network Layer Responsibilities? - Source-to-destination delivery it is possibly across multiple networks - Logical addressing - Routing

What is sonet, What is Sonet Synchronous Optical Network is a fiber opt...

What is Sonet Synchronous Optical Network is a fiber optic technology that can transmit high-speed data audio, used for text and video. Single clock handles timing of transm

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd