选择显示字体大小

关于java的字符编码问题

关于java的字符编码问题xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


关于字符编码的概念及技巧

在基于 java 语言的编程中,我们经常碰到汉字的处理及显示的问题。

java 语言默认的编码方式是unicode ,它给java带来了活力,及更广的适应性,但是问题也随之而来我们通常使用的文件和数据库一般都是基于 gb2312或者 big5 等方式编码的,怎样才能够恰当地选择汉字编码方式并正确地处理汉字的编码呢?

英文字符一般是以一个字节来表示的,最常用的编码方法是 ascii 。但一个字节最多只能区分256个字符,而汉字成千上万,所以现在都以双字节来表示汉字,为了能够与英文字符分开,每个字节的最高位一定为1,这样双字节最多可以表示64k格字符。我们经常碰到的编码方式有gb2312、big5、unicode 等。关于具体编码方式的详细资料,有兴趣的读者可以查阅相关资料。gb2312是国标码。两个字节中,第一个字节(高字节)的值为区号值加32(20h),第二个字节(低字节)的值为位号值加32(20h),用这两个值来表示一个汉字的编码。
unicode 码是微软提出的解决多国字符问题的多字节等长编码,它对英文字符采取前面加“0”字节的策略实现等长兼容。如 “a” 的 ascii 码为0x41,unicode 就为0x00,0x41,利用特殊的工具各种编码之间可以互相转换。

我们经常碰到这样的情况:浏览基于 jsp 技术的网站看到的是乱码,文件打开后看到的也是乱码,这是因为 外部文件-> java 字节码-> ;虚拟机->操作系统->显示设备” 这个转变过程有了问题。首先看一个jsp中的解决中文问题的例子,我想这段代码大家都很熟悉吧,
但他的具体含义是什么呢?为什么要这样做呢?

string s1 = request.getparameter(“keyword”);
//从request中取参数 s1

byte[] bytes=s1.getbytes(“iso-8859-1”);
//把s1(按unicode->iso-8859-1) 转回原来的byte[]。

string s2 = new string(bytes,”gbk”);
//因为原来的参数(或字符,字串)是gbk编码方式,所以把bytes
//按照gbk->unicode的方式转码

为什么要这样做呢?因为接收的参数本来是gbk编码方式的,但是缺省的用了
iso-8859-1->unicode 的转码方式把参数转成了string
所以肯定是乱码(中文时)

只要了解了这个基本道理,中文字符问题应该都能解决!


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons