gb2312和UTF-8的区别
GB2312编码大约包含6000多汉字(不包括特殊字符),编码范围为第一位b0-f7,第二位编码范围为a1-fe(第一位为cf时,第二位为a1-d3),计算一下汉字个数为6762个汉字。当然还有其他的字符。包括控制键和其他字符大约7573个字符编码
gbk编码是对gb2312编码的扩充,容纳的汉字更多,但仅仅是扩充,没有质的变化。保留了所有gb2312编码,在此基础上进行编码范围的扩充.容纳(包含特殊字符)共22014个字符编码.
gb18030编码是在gbk编码基础上的扩充,因为汉字更多,仅仅使用两位编码已经不能
容纳要求的汉字,所以采用了2/4位混和的办法,可以支持更多的汉字编码。并且保留了原有的gbk 2字节编码兼容gb2312和gbk编码的文件。大概容纳55657个编码(包含特殊字符)
unicode编码(也就是UTF编码):俗称万国码,致力于使用统一的编码准则表达各国的文字。
为表达更多的文字,utf-8采用2/3混编的方式。目前容纳的汉字范围小于gbk编码。并且以
3字节的方式处理中文,带来了兼容性的问题,原有的gbk,gb2312,gb18030编码文件都不能正常的处理,还有很长的路要走。
有关汉字字符标准的说明
GB2312编码大约包含6000多汉字(不包括特殊字符),编码范围为第一位b0-f7,第二位编码范围为a1-fe(第一位为cf时,第二位为a1-d3),计算一下汉字个数为6762个汉字。当然还有其他的字符。包括控制键和其他字符大约7573个字符编码
gbk编码是对gb2312编码的扩充,容纳的汉字更多,但仅仅是扩充,没有质的变化。保留了所有gb2312编码,在此基础上进行编码范围的扩充.容纳(包含特殊字符)共22014个字符编码.
gb18030编码是在gbk编码基础上的扩充,因为汉字更多,仅仅使用两位编码已经不能
容纳要求的汉字,所以采用了24位混和的办法,可以支持更多的汉字编码。并且保留了原有的gbk 2字节编码兼容gb2312和gbk编码的文件。大概容纳55657个编码(包含特殊字符)
unicode编码(也就是UTF编码):俗称万国码,致力于使用统一的编码准则表达各国的文字。
为表达更多的文字,utf-8采用2/3混编的方式。目前容纳的汉字范围小于gbk编码。并且以
3字节的方式处理中文,带来了兼容性的问题,原有的gbk,gb2312,gb18030编码文件都不能正常的处理,还有很长的路要走。
到底是用UTF-8还是GB2312
倾向于 gb2312
我
现在用的是英文 2000,可除了界面的"开始"变成"Start"这样的微小变化外其他东西用起来没有感到任何差别,刚装完 2000 的时候随便去一
个国内网站他就会问你是否要装简体中文,点了是,安一下,连 IE 都不用重新打开就可以直接看中文了,英文系统看中文是如此简单,换成繁体系统看简体应
该没有任何差别的,不可能会出现看不了或者乱码的情况。
UTF-8 的同屏显示多语种确实是个很有意思的新玩意,不过毕竟是后来的,只要
用就得成天考虑兼容问题,况且很少需要 UTF-8 的特性:我用简体中文写东西,看的人一般系统里只有简体中文或者安个简体中文就可以看了,永远不会出
现一个倭文或者韩文,那么 UTF-8 还有用的必要了吗?
XML 和 DVD 这些非常好的东西,推行了很多年也无法成为"缺省配
置",恩,对,GB2312 之于 UTF-8,正如同 VCD 之于 DVD:DVD 好是好,可目前几乎所有的软件还都是用 650MB 的光盘发
行,一台家用电脑可以读不了 DVD,但绝对不可以读不了普通的光盘,否则连装个系统启动起来都很困难。
UTF8还是GB2312?
早
些年上网的朋友都知道,NS或IE浏览器早期的版本并不支持多国语言的浏览,如果想浏览繁体中文、日文等外文网站还需要一个如"中文之星"或"四通立方"
的外挂软件,后来浏览器逐步发展升级,到目前为止,几乎所有浏览器都支持多国语言字符,可以浏览任意国家、语言的网站。Blog的出现,特别是
Trackback的出现,使网络国际化的行为由被动的浏览信息向主动式的交互信息过渡,然而新的语言障碍问题又出现了...
问题主要出
在Blog的Trackback(引用)、Ping(通告)、Notification(通知书)等交互具有的功能上。以前我们在理解和应用网络上的交互
主要局限在C-S范围之内,也就是客户(个人)与服务器(网站)之间的信息交互,例如:在网络上发布一篇文章或回复一个论坛帖子,一般来讲这样的交互很少
会出现语言不兼容的问题。然而Blog中的Trackback等的交互方式不只是C-S的,它还是S-S(Blog网站之间)的,甚至是多重的,例如在发
布一篇文章的时候,你可以同时选择让它同时发布在一个或多个不同的Blog上,或者给指定的人发出更新通知,也可以让更多的人预订、收录你的RSS内容更
新信息。Blog的交互方式更多、更灵活,当然,这种交互并非没有限制,语言编码是一个很大障碍,如果你的Blog系统编码是中文简体的GB2312,那
么所有Trackback、Ping的交互对象就只能限于国内采用GB2312编码的用户,你的Blog也就无法与台湾、日本等采用非GB2312编码的
用户实现交互。
比较好的解决办法是采用UTF-8编码,虽然采用UTF-8编码回多占用一些空间(一个汉字需3个字节),但国际化问题总
算解决了,UTF-8兼容GB2312、BIG5、EUC-JP等多种国家的语言编码,经测试,采用UTF-8编码的Blog之间的各种交互、通讯没有任
何问题。事实上90%以上的台湾Blog都已经舍弃了BIG5,而采用UTF-8的编码方式,而大陆的Blog几乎还都是GB2312编码,看来台湾在国
际化方面还是相当领先的。
前几日,我将自己的Blog从GB2312编码转为了UTF-8编码,Trackback和Ping了几个台湾
朋友的Blog,没有发现问题。看来"国际化"的问题已经解决了,但随之而来有出现了新的问题,我的Blog与国内GB2312编码的Blog又无法交互
了,当然这是必然的。我Ping到online-edu.org(网站采用GB2312编码)上的信息都成了乱码。
我想问题到此,已经不
是技术层面的了。如果你的站点或Blog有国际化交流的需求,可通过采用UTF-8编码的方式来解决,如果没有这个需求,采用GB2312也无大碍。在用
户看来都是一样的,编码只是后台的东西。不过我希望Blogger们最好都采用UTF-8编码,因为你的Blog有了Trackback和Ping,它们
可是持有国际航班的机票,如果只在本国转悠,确实很浪费。
关于TrackBack
TrackBack最早是Movable Type上的一个小功能。可以说就是这个小功能在blog界却掀起了一场革命。
TrackBack为将全世界无数个blog连接起来的功能。例如,当你读了某个网站的文章,想对此写下自己的感想。这个时候利用网站准备的讨论功能进行投稿是很最常见的做法。但这样只是把自己的评论意见写下来向别人的网站投稿,而你自己手里却什么也没留下。
TrackBack
则与之有很大的区别。可以把评论写到自己网站上。然后向刊载原始文章的服务器发送该网页的URL及标题、部分正文、网站名称等信息(注)。尽管这一过程只
是称之为"发送TrackBack Ping",但通过这种办法,在原始文章的地方就留下了你的评论的URL、标题等部分信息。当然别人也可以向原始文章
发送TrackBack Ping,所以在原始文章中就将包括你的TrackBack Ping在内的所有评论都记录了下来。
此外,如
果你在自己网站上也设置了TrackBack Ping功能的话,那么谁都可以通过TrackBack Ping来发表针对你的意见了。这样,多家网站就
通过相关话题而联接起来。各种评论在因特网上就像网眼一样联接起来。这样就创造出了与日记网站完全不同的文化。
注:发送地址采用原始文章指定的URL,这一URL就称为"TrackBack Ping URL"。最后的"128"为原始文章的专用数字,称为"TrackBack ID"。另外,TrackBack的技术标准刊登在"LowLife.jp"的blog网站上。
gb2312和UTF-8的区别的更多相关文章
- GBK、GB2312、iso-8859-1之间的区别
转自:http://blog.csdn.net/jerry_bj/article/details/5714745 GBK.GB2312.iso-8859-1之间的区别 GB2312,由中华人民共和国政 ...
- 关于GBK、GB2312、UTF8之间的区别
UTF-8:Unicode Transformation Format-8bit,允许含BOM,但通常不含BOM.是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为( ...
- GB2312,GBK和UTF-8的区别
GBK GBK包含全部中文字符, GBK的文字编码是双字节来表示的,即不论中.英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1.至于UTF-8编码则是用以解决国际上字符的一种多字节编码 ...
- utf 8无bom和utf 8什么区别
今天在上传CSV文件的时候,Windows下调试一切正常.妈的一到Linux下面,就出现问题,第一行数据总是读取不出来, 利用print_r()打印出读取文件的内容,发现有一个很奇怪的字符在作怪.为什 ...
- C# 编码转换 UTF8转GB2312 GB2312转UTF8
/// <summary> /// GB2312转换成UTF8 /// </summary> /// <param name="text">&l ...
- UTF-8、GB2312、GBK编码格式详解和编码示例
UTF-8.GB2312.GBK编码格式详解 参考文章 UTF-8 使用1~4个字节对每个字符进行编码 128个ASCII字符字需要一个字节编码 带有附加符号的拉丁文.希腊文.西里尔字母.亚美尼亚语. ...
- java字符编码详解
引用自:http://blog.csdn.net/jerry_bj/article/details/5714745 GBK.GB2312.iso-8859-1之间的区别 GB2312,由中华人民共和国 ...
- 【Java基础】让编码不再让你困惑
目录 1. ASCII编码 2. Unicode编码 3. UTF-8编码 4. UTF8.UTF16和UTF32之间的区别 5. GBK.GB2312和GB18030之间的区别 6. Java中的编 ...
- linux下iconv()函数的用法(转载并修改)
linux shell 配置文件中默认的字符集编码为UTF-8 .UTF-8是unicode的一种表达方式,gb2312是和unicode都是字符的编码方式,所以说gb2312跟utf-8的概念应该不 ...
- Java 工程师成神之路 | 2019正式版
本文为转载,原文见以下链接:https://mp.weixin.qq.com/s/4AMzq87V6eW3YPgE0mCdSw 1 基础篇 01 面向对象 → 什么是面向对象 面向对象.面向过程 面向 ...
随机推荐
- HDU 5265 pog loves szh II (技巧)
题意:给一个数字序列,要求再其中找到两个数,其和再模p的结果是最大的,求此和. 思路:先将输入的元素模p,排序.结果可能有两种情况: (1)a+b大于p:肯定由两个最大的数之和来产生. (2)a+b小 ...
- over-fitting、under-fitting 与 regularization
机器学习中一个重要的话题便是模型的泛化能力,泛化能力强的模型才是好模型,对于训练好的模型,若在训练集表现差,不必说在测试集表现同样会很差,这可能是欠拟合导致:若模型在训练集表现非常好,却在测试集上差强 ...
- UVa725 - Division
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; ; int ...
- 【英语】Bingo口语笔记(44) - 进餐时的表达
- 【自动化测试】PO思路
http://blog.csdn.net/liubofengpython/article/details/7720078
- android部分手机onclick事件触发2次
var t1 = null; function btnSave() { if (t1 == null) { t1 = new Date().getTime(); } else { var t2 = n ...
- App中嵌入网页浏览器
TOWebViewController 插件 NSURL *url =[NSURL URLWithString:@"http://192.168.1.134:8180/Home/IndexP ...
- delete之后千万要记得将指针置空,即勿重复delete!!!
下面这段代码有什么问题吗?(Arduino上运行) class C{ public: C(){ ptr = ]; } ~C(){ if(ptr!=NULL)delete [] ptr; } void ...
- NetBeansRCP-添加/修改NetBeans的JVM启动参数
NetBeans运行的速度实在是不敢恭维.还好机器配置还可以,修改其JVM启动参数命令行,以期运行的更加顺畅. 那么如何修改NetBeans IDE的JVM参数呢? 1.到NetBeans IDE的安 ...
- C++模板知识小结
模板定义:模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数, 从而实现了真正的代码可重用性.模版可以分为两类,一个是函数模版,另外一个是类模版. 由于类模板包含类型参数,因 ...