符号与ASCII码的转换

上传人:平*** 文档编号:12911894 上传时间:2017-10-21 格式:DOC 页数:11 大小:316.12KB
返回 下载 相关 举报
符号与ASCII码的转换_第1页
第1页 / 共11页
符号与ASCII码的转换_第2页
第2页 / 共11页
符号与ASCII码的转换_第3页
第3页 / 共11页
符号与ASCII码的转换_第4页
第4页 / 共11页
符号与ASCII码的转换_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《符号与ASCII码的转换》由会员分享,可在线阅读,更多相关《符号与ASCII码的转换(11页珍藏版)》请在金锄头文库上搜索。

1、实验一 符号与 ASCII 码的转换一、实验目的:1、熟悉英文字母和常用符号的基本编码理论。2、了解数字符号和数字 ASCII 码值的区别。3、使用高级语言实现符号与 ASCII 码的转换。二、实验要求:1、界面友好、简洁2、变量和函数要有注释3、实验报告中要有程序流程图三、实验环境:1、硬件环境:主流配置计算机2、操作系统:Windows xp(替换成实际应用系统)3、编译平台:Visual C+ 6.0(替换成实际应用平台)(可选语言包括 C、C+ 、Java 等等)四、实验内容:1、介绍一下 ASCII 编码(查找整理资料)编写 ASCII 码转换程序(用流程图表示)2、输入符号,打印出

2、对应的 ASCII 码表(十进制、16 进制、二进制)3、输入 ASCII 码值(十进制、或 16 进制、或二进制) ,打印出对应的符号。4、创建一个文件(内容为一段英文) ,读入文件并将其中的符号转换为 ASCII 码,写入另一个文件。调试并通过该程序(抓图示例,实验体会)五、实验报告内容:1、实验名称2、实验目的3、实验要求4、实验环境5、实验内容(算法描述、算法流程)6、实验体会6、 实验报告正文:1、ASCII 编码的介绍ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系

3、统。它主要用于显示现代英语,而其扩展版本 EASCII 则可以部分支持其他西欧语言,并等同于国际标准 ISO/IEC 646。由于万维网使得 ASCII 广为通用,直到 2007 年 12 月,逐渐被 Unicode 取代。ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符。标准 ASCII 码也叫基础 ASCII 码,使用 7 位二进制数来表示所有的大写和小写字母,数字 0 到 9、标点符号,以及在美式英语中使用的特殊控制字符。其中:031 及 127(共 33 个) 是控制字符或通信专用字符(其余为可显示字符) ,如控制符:LF (换行) 、CR

4、 (回车) 、FF (换页) 、DEL(删除) 、BS(退格) 、BEL(响铃)等;通信专用字符:SOH(文头) 、 EOT(文尾) 、ACK(确认)等;ASCII 值为 8、9、10 和 13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。32126( 共 95 个) 是字符(32 是空格) ,其中 4857 为 0 到 9 十个阿拉伯数字6590 为 26 个大写英文字母,97122 号为 26 个小写英文字母,其余为一些标点符号、运算符号等。同时还要注意,在标准 ASCII 中,其最高位(b7)用作奇偶校验位。所谓奇偶校验

5、,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中 1 的个数必须是奇数,若非奇数,则在最高位 b7 添 1;偶校验规定:正确的代码一个字节中 1 的个数必须是偶数,若非偶数,则在最高位 b7 添 1。后 128 个称为 扩展 ASCII 码,目前许多基于 x86 的系统都支持使用扩展(或“高”)ASCII。扩展 ASCII 码允许将每个字符的第 8 位用于确定附加的 128 个特殊符号字符、外来语字母和图形符号。2、编写 ASCII 码转换程序(用流程图表示)(1) 、功能选择的提示(2) 、将符号转换成 ASCII 码例如:“*

6、”会显示十进制、十六进制、二进制的 ASCII 码。ASCII 码与进制之间的转换都是通过十进制的,再由十进制转换为二进制、十六进制。(3) 、将符号转换成 ASCII 码会跳出功能选择:十进制、十六进制、二进制来转换例如:“56”二进制的 ASCII 码例如:“10”十进制的 ASCII 码例如:“77”十六进制的 ASCII 码(4) 、创建一个文件(内容为一段英文) ,读入文件并将其中的符号转换为 ASCII 码,写入另一个文件。“summer”写入,先转换为十进制的 ASCII 码。3、源代码(借鉴)#include#includevoid trans();void trans_dto

7、b(int y);void trans_dtoh(int y);void convert();void convert_btoA();void convert_dtoA();void convert_htoA();void wjwrite();int main()int x;while(1)coutx;switch(x) /进行功能选择的提示case 1:trans();break;case 2:convert();break;case 3:wjwrite();break;case 4:return 0;void wjwrite() /将文件中的字母转换成 ASCII 码并存在另一个文件中if

8、stream in;ofstream out;out.open(D:file1.txt,ios:out); /以写的方式打开文件 file1.txtchar a100,y;int x;couty;if(y=0)break;outx;y=(int)x;cout=2)trans_dtob(y/2); /利用递归的方式cout=10)trans_dtoh(y/16); /利用递归的方式x=y%16;if(xx;switch(x) /进行进制选择,确定对应的进制子函数case 1:convert_btoA();break;case 2:convert_dtoA();break;case 3:conve

9、rt_htoA();break;void convert_btoA() /将二进制的 ASCII 码转换成符号char a10,y;couta; /将二进制数当做字符串进行输入int i,t;long sum=0;for(i=0;ai;i+) /计算出二进制数的每一位上的数的值t=ai-0; /与字符0进行作减,得到每位上的二进制数值sum=sum*2+t; /将二进制转换成十进制y=(char)sum; /将 ASCII 码十进制强制转换成符号coutx;y=(char)x;couta; /将十六进制数当做字符串进行输入int i,t;long sum=0;for(i=0;ai;i+) /计

10、算出十六进制数的每一位上的数的值if(ai=9) /对小于9的字符,与0进行作减,求出该位置上数值的大小t=ai-0;elset=ai-A+10; /对大于9的字符,与A进行比较,并求出该位置上数值的大小sum=sum*16+t; /转换成十进制y=(char)sum;coutyendl;4、实验体会这次的实验丰富了我对 ASCII 码的理解,但着实的知道了自己的编程能力实在是太差了。ASCII 码在编码、计算机世界中真的很方便,也知道了十进制是转换的中介,ASCII 码转换成为其他进制时,要先转换为十进制再转换为其他进制。人在键盘上敲入的字符(数字、字母、特殊符号等)转换成机器能够识别的二进制数,并且每个字符唯一确定一个 ASCII 码,形象地说,它就是人跟计算机交流时使用的键盘语言通过“翻译 ”转换成的计算机能够识别的语言。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号