




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
字符编码机器语言机器语言是指一台计算机全部的指令集合电子计算机所使用的是由0和1组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,人们只能降贵纡尊,用计算机的语言去命令计算机干这干那,一句话,就是写出一串串由0和1组成的指令序列交由计算机执行,这种计算机能够认识的语言,就是机器语言。使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。因此程序就是一个个的二进制文件。一条机器语言成为一条指令。指令是不可分割的最小功能单元。而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。机器语言,是第一代计算机语言。汇编语言为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用ADD代表加法,MOV代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。高级语言从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1954年,第一个完全脱离机器硬件的高级语言-FORTRAN问世了,40 多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C+、VC、VB、Delphi、JAVA等。ASCII与二进制英文字母和其它字符按一定的规则用二进制编码后在计算机上使用。目前在微型计算机中普通采用的编码是ASCII码。ASCII的机器内码为每个字符占8个二进制位,其中最高位用作奇偶校验,剩下7位用于编码,如b表示为1100010,这8个二进制位合叫一个字节。 即8个二进制表示一个ASCII码,一个ASCII码就是代表一个字节。特点:主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统ASCII码包含内容: ASCII码共能表示128个字符,其中包括数字字符(09)、大小写英文字母、西文符号、回车键、退格、换行键等。附图:7位ASCII编码表ISO-8859-1ASCII码是针对英语设计的,当处理带有音调标号(形如汉语的拼音)的欧洲文字时就会出现问题。为了表示更多的欧洲常用字符,原ASCII码最高位用来参与表示字符。这样ASCII码就能表示256个字符。多出的128个字符用来表示表格符号、计算符号、希腊字母和特殊的拉丁符号。即ISO-8859-1是ASCII码的扩展UNICODE对所有语言的文字进行了统一编码,对每一个字符都用2个字节来表示,对于单字节字符如英文字符采取前面加“0”字节的策略实现等长兼容。例: “a” 的ASCII码为0x61,UNICODE就为0x00,0x61。1名称的由来 Unicode 字符集编码是Universal Multiple-Octet Coded Character Set 通用多八位编码字符集的简称,是由一个名为 Unicode 学术学会(Unicode Consortium)的机构制订的字符编码系统,支持现今世界各种不同语言的书面文本的交换、处理及显示。该编码于1990年开始研发,1994年正式 公布,最新版本是2005年3月31日的Unicode 4.1.0。 2特征 Unicode是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。 UTF-8UTF-8是Unicode的其中一个使用方式。 UTF是 Unicode Translation Format,即把Unicode转做某种格式的意思。 Unicode还有其它一些使用方式,如UTF-16、UTF-32等。背景:由于Unicode编码采用双字节存储,因而对于英文等存储空间浪费较大,在这种情况下变长字节存储成为需要,于是UTF系列编码出现。特点:UTF-8便于不同的计算机之间使用网络传输不同语言和编码的文字,使得双字节的Unicode能够在现存的处理单字节的系统上正确传输。 字节存储:UTF-8使用可变长度字节来储存 Unicode字符,例如ASCII字母继续使用1字节储存,重音文字、希腊字母或西里尔字母等使用2字节来储存,而常用的汉字就要使用3字节。辅助平面字符则使用4字节。 GB2312GB2312又称为GB2312-80字符集,全称为信息交换用汉字编码字符集基本集,由原中国国家标准总局发布,1981年5月1日实施。 特点 :GB2312是中国国家标准的简体中文字符集。它所收录的汉字已经覆盖99.75%的使用频率,基本满足了汉字的计算机处理需要。在中国大陆和新加坡获广泛使用。 包含内容 :收录简化汉字及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共 7445 个图形字符。其中包括6763个汉字,其中一级汉字3755个,二级汉字3008个;包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在 内的682个全角字符。 GBK为了对更多的字符进行编码,国家又发布了新的编码系统GBK(GBK的K是“扩展”的汉语拼音第一个字母)。在新的编码系统里,除了完全兼容GB2312 外,还对繁体中文、一些不常用的汉字和许多符号进行了编码。IE字符编码的设置1、 编码强制转换在某个URL访问时,按下图操作可以改变当前URL显示的编码2、 默认IE编码IE默认编码是根据网页源代码中指定的编码进行判断的,无法修改!编码转换 GBK可以顺利转换为UTF-8。 UTF-8转码为GBK时可能会引起数据丢失。因为UTF-8有些数据采用或个字节存储,而GBK只采用字节存储。因此:所以多字节向小字节转换引起一些字节数据丢失! 编码之间转换处理(国际化IN8)例String result;1、 result = new String(result.getBytes()使用平台默认字符集将 String串解码为字节序列,并将结果存储到一个新的字节数组中。最后再将字节数组解码转成String串,此String串的编码即为当前平台编码!假如当前平台默认编码为ISO-8859-1,即result串最后编码为当前平台编码2、 result = new String (result.getBytes(StringcharsetName)使用指定的字符集将 String 串解码为字节序列,并将结果存储到一个新的字节数组中。最后再将字节数组解码转成String串,此String串的编码即为指定的字符集编码!假如指定的编码为GBK,即result串最后的解码为GBK编码3、 result = new String(result .getBytes(StringcharsetName),StringendCharsetName)即result=new String(byte bytes,StringendCharsetName)用指定的字符集解码字节数组,然后组成一个String串,最后此String串的编码即为指定的字符集编码!假如result = new String(result .getBytes(“ISO-8859-1”),”GBK”)表示先将result解码成ISO-8859-1编码的字节数组,然后再解码组成GBK编码的字符串。最后的result串编码是GBK。常见乱码集锦编码基础必备首先最好保证每个工程应用都使用一个编码过滤器。用来设定所有的请求及响应的编码。采用setCharacterEncoding完成,如果不设置IE请求与响应的编码,则默认使用ISO-8859-1。同时注意,请求与响应的编码设置最好与页面的charset、pageEncoding编码相同。页面编码设置在JSP标准的语法中,如果pageEncoding属性存在,那么JSP页面的字符编码方式就由pageEncoding决定,否则就由contentType属性中的charset决定,如果charset也不存在,JSP页面的字符编码方式就采用默认的ISO-8859-1。即pageEncodingcharsetISO-8859-1编码过滤器只对post提交方式起作用编码过滤器分二步进行,首先配置web.xml过滤元素,先后再实现过滤器(必须继承 javax.servlet.Filter接口)。web.xml配置CharacterEncoding com.icitic.lightning.base.webapp.filter.CharsetFilter CharsetUTF-8CharacterEncoding/*实现过滤器采用setCharacterEncoding设置编码。对request 是指提交内容的编码,指定后可以通过getParameter()则直接获得正确的字符串对response 是指定输出内容的编码,同时,该设置会传递给浏览器,告诉浏览器输出内容 所采用的编码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 (config.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);/获得请求的URL StringBuffer url=(HttpServletRequest)arg0).getRequestURL(); /如果请求的URL包含.action、.do、.jsp、.htm则设置缓存等if (url.indexOf(.action)!=-1 | url.indexOf(.htm)!=-1 | url.indexOf(.jsp)!=-1 | url.indexOf(.do)!=-1) /强制缓存从服务器上获取该页面的最新拷贝response.setHeader(Cache-Control, no-cache); /在任何情况下缓存不保存该页面response.setHeader( Cache-Control , no-store); /设置页面不缓存数据response.setDateHeader(Expires, 0);response.setHeader(Pragma, no-cache);arg2.doFilter(arg0, arg1);/end mothod奇数中文末汉字乱码现象当汉字为偶数时不乱码,奇数时最后一个汉字乱码。且不管末汉字是什么字都是同一乱码符。分析许多协议使用ISO-8859-1来编码,网页中的数据提交及响应默认也是采用ISO-8859-1编码。待续。解决页面跳转情况如果是由一个页面直接跳转到另一个页面,如window.open(/ibpmsFlow/flow_chart/flow.jsp?processName=+processName,width=1100,height=550,left=0,top=0,location,alwaysRaised,scrollbars=yes,status=yes,resizable);由页面跳转到页面时默认为get方式提交,或者form提交没有注明提交方式也默认为get 方式。过滤器对get方式无效。get方式则使用IE默认的ISO-8859-1编码。因此页面跳转后还要增加转码语句String processName = request.getParameter(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 韩语五级试题及答案
- 物业案场培训
- 木牍教育数学课程体系
- 血透室肌肉痉挛护理查房
- 脑血管病变病人的护理
- 2025年中国母乳喂养乳头罩行业市场全景分析及前景机遇研判报告
- 会计总账业务流程规范
- 餐饮企业租赁及品牌输出服务合同
- 航空公司新员工入职培训
- 车辆无偿租赁与品牌形象展示协议
- 2024-2030年中国激光水平仪行业市场发展趋势与前景展望战略分析报告
- 疑难病例讨论课件
- 部编本小学语文六年级下册毕业总复习教案
- JB∕T 11864-2014 长期堵转力矩电动机式电缆卷筒
- 小儿氨酚黄那敏颗粒的药动学研究
- 生态环境行政处罚自由裁量基准
- 长沙市开福区2024届六年级下学期小升初数学试卷含解析
- 2024年安徽普通高中学业水平选择性考试化学试题及答案
- DZ/T 0462.3-2023 矿产资源“三率”指标要求 第3部分:铁、锰、铬、钒、钛(正式版)
- 2024年昆明巫家坝建设发展有限责任公司招聘笔试冲刺题(带答案解析)
- 《取水许可核验报告编制导则(试行)(征求意见稿)》
评论
0/150
提交评论