仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 440|回复: 8
打印 上一主题 下一主题

[学习教程] 来看Java中的字符集编码进门(三) GB2312,GBK与中文网页

[复制链接]
爱飞 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:09:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
比如模式、敏捷方法什么的,这些思想好,但是实施的人没有理解而且没有正确运用这些知识导致了开发周期的延长。比如说对象,通过getName()方法不能获取对象的名字。
GB2312是对中国的开辟职员来讲很主要的一个辞汇,它的前因后果其实不必要我在这里赘述,任意Goolge之便分明无误。我只是想提一句,记得前一节说到编码字符集和字符集编码不是一回事,而有的字符集编码又实践上没有做任何事,GB2312恰是如许一种工具!
GB2312最后指的是一个编码字符集,个中包括了ASCII所包括的英笔墨符,同时到场了6763个简体汉字和其他一些ASCII以外的标记。与Unicode有UTF-8和UTF-16一样(固然,UTF-8和UTF-16也没有被限制只能用来对Unicode举行编码,实践上,你用它对视频举行编码都是能够的,只是编出的文件没有播放器撑持而已,哈哈),GB2312也有本人的编码计划,但这个计划间接利用一个字符在GB2312中的编号作为存储值(与UTF-32的做法相似),也因而,这个编码计划乃至没有正式的称号。我们一样平常提及GB2312的时分,经常即指这个字符集,也指这类编码计划。
GBK是GB2312的后续尺度,增加了更多的汉字和特别标记,相似的是,GBK也是同时指他的字符集和他的编码。
GBK仍是现现在中文Windows操纵体系的体系默许编码(这恰是几近一切网页上的,文件里的乱码成绩的本源)。
我们能够如许来考证,利用以下的Java代码:
Stringencoding=System.getProperty("file.encoding");
System.out.println(encoding);
输入了局为
GBK
(甚么?你的输入不是如许?怎样大概?完了,我的牌子要砸了,等等,你用的繁体版XP?我说你这同道在这里捣甚么乱?往!往!)
说到GB2312和GBK就不能不提中文网页的编码。只管良多新开辟的Web体系和新上线的注意国际化的网站都入手下手利用UTF-8,仍有相称一部分的中文媒体保持利用GB2312和GBK,比方新浪的页面。个中有两点很值得注重。
第一,页面中meta标签的部分,经常能够见到
charset=GB2312
如许的写法,很不幸的是,这个“charset”实际上是用来指定页面利用的是甚么字符集编码,而不是利用甚么字符集。比方你见到过有人写“charset=UTF-8”,见到过有人写“charset=ISO-8859-1”,但你见过有人写“charset=Unicode”么?固然没有,由于Unicode是一个字符集,而不是编码。
但是恰是charset这个称号误导了良多程序员,真的觉得这里要指定的是字符集,也因此使他们进一步的误觉得UTF-8和UTF-16是一种字符集!(万恶啊)幸亏XML中已做出了修正,这个地位改成了准确的称号:encoding。
第二,页面中说的GB2312,实践上其实不真的是GB2312(惊奇么?)。我们来做个实行,比方找一个GB2312中不存在的汉字“”(这个字的确不在GB2312中,你能够到GB2312的码表中往找,包管找不到),这个字在GBK中。然后你把它放到一个html页面中,试着在扫瞄器中翻开它,然后选择扫瞄器的编码为“GB2312”,看到了甚么?它完整一般显现!
结论不必我说你也分明了,扫瞄器实践上利用的是GBK来显现。
新浪的页面中也有良多如许的例子,各处都写charset=GB2312,却利用了有数个GB2312中其实不存在的字符。这类做法对扫瞄器显现页面其实不成成绩,但在必要程序抓取页面并保留的时分带来了贫苦,程序将不克不及根据页面所“宣称”的编码举行读取和保留,而只能只管推测准确的编码。

有了这样一个呼声:让java代替C语言成为基本语言。这些足以说明java简单易学的这个优点。其次,java的功能强大,前面我也提到了,EJB3.0的推出使java成为了大型项目的首选。
若相依 该用户已被删除
沙发
发表于 2015-1-20 15:31:13 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
深爱那片海 该用户已被删除
板凳
发表于 2015-1-29 12:20:48 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
简单生活 该用户已被删除
地板
发表于 2015-2-6 00:43:06 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
海妖 该用户已被删除
5#
发表于 2015-2-11 21:33:58 | 只看该作者
是一种为 Internet发展的计算机语言
精灵巫婆 该用户已被删除
6#
发表于 2015-3-2 19:53:25 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
山那边是海 该用户已被删除
7#
发表于 2015-3-11 05:45:23 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
小女巫 该用户已被删除
8#
发表于 2015-3-17 21:34:23 | 只看该作者
是一种为 Internet发展的计算机语言
只想知道 该用户已被删除
9#
发表于 2015-3-25 02:59:06 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 12:06

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表