机器语言与字符编码

上传人:宝路 文档编号:6572468 上传时间:2017-09-11 格式:DOC 页数:8 大小:79.50KB
返回 下载 相关 举报
机器语言与字符编码_第1页
第1页 / 共8页
机器语言与字符编码_第2页
第2页 / 共8页
机器语言与字符编码_第3页
第3页 / 共8页
机器语言与字符编码_第4页
第4页 / 共8页
机器语言与字符编码_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《机器语言与字符编码》由会员分享,可在线阅读,更多相关《机器语言与字符编码(8页珍藏版)》请在金锄头文库上搜索。

1、字符编码机器语言机器语言是指一台计算机全部的指令集合电子计算机所使用的是由0和1 组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,人们只能降贵纡尊,用计算机的语言去命令计算机干这干那,一句话,就是写出一串串由0和1组成的指令序列交由计算机执行,这种计算机能够认识的语言,就是机器语言。使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。因此程序就是一个个的二进制文件。一条机器语言成为一条指令。指令是不可分割的最小功能单元。而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。但由于使用的是针对特

2、定型号计算机的语言,故而运算效率是所有语言中最高的。机器语言,是第一代计算机语言。汇编语言为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用ADD 代表加法,MOV 代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言

3、程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。高级语言从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1954 年,第一个完全脱离机器硬件的高级语言-FORTRAN 问世了,40 多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL 、BASIC、LISP、SNOBOL、PL/1 、Pascal、C、PROLOG、Ada、C+、VC 、VB、Delphi

4、、JAVA 等。ASCII 与二进制英文字母和其它字符按一定的规则用二进制编码后在计算机上使用。目前在微型计算机中普通采用的编码是 ASCII 码。ASCII 的机器内码为每个字符占 8 个二进制位,其中最高位用作奇偶校验,剩下 7 位用于编码,如 b 表示为 1100010,这 8 个二进制位合叫一个字节。即 8 个二进制表示一个 ASCII 码,一个 ASCII 码就是代表一个字节。特点:主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统 ASCII 码包含内容: ASCII 码共能表示 128 个字符,其中包括数字字符(09)、大小写英文字母、西文符号、回车键、退格、换行

5、键等。附图:7 位 ASCII 编码表ISO-8859-1ASCII 码是针对英语设计的,当处理带有音调标号(形如汉语的拼音)的欧洲文字时就会出现问题。为了表示更多的欧洲常用字符,原 ASCII 码最高位用来参与表示字符。这样ASCII 码就能表示 256 个字符。多出的 128 个字符用来表示表格符号、计算符号、希腊字母和特殊的拉丁符号。即 ISO-8859-1 是 ASCII 码的扩展UNICODE对所有语言的文字进行了统一编码,对每一个字符都用 2 个字节来表示,对于单字节字符如英文字符采取前面加“0” 字节的策略实现等长兼容。例: “a” 的 ASCII 码为 0x61,UNICODE

6、 就为 0x00,0x61 。1名称的由来 Unicode 字符集编码是 Universal Multiple-Octet Coded Character Set 通用多八位编码字符集的简称,是由一个名为 Unicode 学术学会(Unicode Consortium)的机构制订的字符编码系统,支持现今世界各种不同语言的书面文本的交换、处理及显示。该编码于 1990 年开始研发,1994 年正式 公布,最新版本是 2005 年 3 月 31 日的 Unicode 4.1.0。 2特征 Unicode 是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足

7、跨语言、跨平台进行文本转换、处理的要求。 UTF-8UTF-8 是 Unicode 的其中一个使用方式。 UTF 是 Unicode Translation Format,即把Unicode 转做某种格式的意思。 Unicode 还有其它一些使用方式,如 UTF-16、UTF-32 等。背景:由于 Unicode 编码采用双字节存储,因而对于英文等存储空间浪费较大,在这种情况下变长字节存储成为需要,于是 UTF 系列编码出现。特点:UTF-8 便于不同的计算机之间使用网络传输不同语言和编码的文字,使得双字节的Unicode 能够在现存的处理单字节的系统上正确传输。 字节存储:UTF-8 使用可

8、变长度字节来储存 Unicode 字符,例如 ASCII 字母继续使用 1 字节储存,重音文字、希腊字母或西里尔字母等使用 2 字节来储存,而常用的汉字就要使用 3 字节。辅助平面字符则使用 4 字节。 GB2312GB2312 又称为 GB2312-80 字符集,全称为信息交换用汉字编码字符集基本集 ,由原中国国家标准总局发布,1981 年 5 月 1 日实施。 特点 :GB2312 是中国国家标准的简体中文字符集。它所收录的汉字已经覆盖 99.75%的使用频率,基本满足了汉字的计算机处理需要。在中国大陆和新加坡获广泛使用。 包含内容 :收录简化汉字及一般符号、序号、数字、拉丁字母、日文假名

9、、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共 7445 个图形字符。其中包括 6763 个汉字,其中一级汉字 3755 个,二级汉字 3008 个;包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在 内的 682 个全角字符。 GBK为了对更多的字符进行编码,国家又发布了新的编码系统 GBK(GBK 的 K 是“扩展”的汉语拼音第一个字母)。在新的编码系统里,除了完全兼容 GB2312 外,还对繁体中文、一些不常用的汉字和许多符号进行了编码。IE 字符编码的设置1、 编码强制转换在某个 URL 访问时,按下图操作可以改变当前 URL 显示的编码2、 默认 IE 编码IE

10、默认编码是根据网页源代码中指定的编码进行判断的,无法修改!编码转换 GBK 可以顺利转换为 UTF-8。 UTF-8 转码为 GBK 时可能会引起数据丢失。因为 UTF-8 有些数据采用或个字节存储,而 GBK 只采用字节存储。因此:所以多字节向小字节转换引起一些字节数据丢失! 编码之间转换处理(国际化 IN8)例 String result;1、 result = new String(result.getBytes()使用平台默认字符集将 String 串解码为字节序列,并将结果存储到一个新的字节数组中。最后再将字节数组解码转成 String 串,此 String 串的编码即为当前平台编码

11、!假如当前平台默认编码为 ISO-8859-1,即 result 串最后编码为当前平台编码2、 result = new String (result.getBytes(String charsetName)使用指定的字符集将 String 串解码为字节序列,并将结果存储到一个新的字节数组中。最后再将字节数组解码转成 String 串,此 String 串的编码即为指定的字符集编码!假如指定的编码为 GBK,即 result 串最后的解码为 GBK 编码3、 result = new String(result .getBytes(String charsetName),String endC

12、harsetName)即 result=new String(byte bytes,String endCharsetName)用指定的字符集解码字节数组,然后组成一个 String 串,最后此 String 串的编码即为指定的字符集编码!假如 result = new String(result .getBytes(“ISO-8859-1”), ”GBK”)表示先将 result 解码成 ISO-8859-1 编码的字节数组,然后再解码组成 GBK 编码的字符串。最后的 result 串编码是 GBK。常见乱码集锦编码基础必备首先最好保证每个工程应用都使用一个编码过滤器。用来设定所有的请求及

13、响应的编码。采用setCharacterEncoding完成,如果不 设置IE请求与响应的编码, 则默认使用ISO-8859-1。同时注意,请求与响应的编码设置最好与页面的 charset、pageEncoding 编码相同。页面编码设置在 JSP 标准的语法中,如果 pageEncoding 属性存在,那么 JSP 页面的字符编码方式就由 pageEncoding 决定,否则就由 contentType 属性中的 charset 决定,如果 charset也不存在,JSP 页面的字符编码方式就采用默认的 ISO-8859-1。即 pageEncodingcharsetISO-8859-1编码

14、过滤器只对 post 提交方式起作用编码过滤器分二步进行,首先配置 web.xml 过滤元素,先后再实现过滤器(必须继承 javax.servlet.Filter 接口) 。web.xml 配置CharacterEncodingcom.icitic.lightning.base.webapp.filter.CharsetFilterCharsetUTF-8CharacterEncoding/*实现过滤器采用 setCharacterEncoding 设置编码。对request 是指提交内容的编码,指定后可以通过getParameter()则直接获得正确的字符串对 response 是指定 输出

15、内容的 编码,同 时,该设置会传递给浏览器,告诉浏览器输出内容所采用的编码public class CharsetFilter implements Filter private FilterConfig config = null;private String defaultEncode = UTF-8;public void init(FilterConfig arg0) throws ServletException /FilterConfig映射到web.xml的的filter配置 this.config = arg0;/读取 web.xml的init-parma配置if (confi

16、g.getInitParameter(Charset) != null) defaultEncode = config.getInitParameter(Charset);public void destroy() this.config = null;public void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletExceptionHttpServletResponse response = (HttpServletResponse)arg1;/设置响应数据编码response.setCharacterEncoding(defaultEncode);/设置请求数据编码arg0.setCharacterEncoding(defaultEncode);/获得请求的UR

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

最新文档


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

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