什么是GBK、UTF-8、BIG5编码?
GB2正在这时,大天使加百列及时出现了——一个叫 ISO312 没有用到的码位找出来老实不客气地用上。DZ6.1 后台导入不同编码的插件和转换程序 (utf8/big5/gbk) #############################################
gbk和utf8区别_utf和gbk的区别
gbk和utf8区别_utf和gbk的区别
后来,就像建造巴比伦塔一样,世界各地的都开始使用计算机,但是很多用的不是英文,他们的字母里有许多是ASCII里没有的,为了可以在计算机保存他们的文字,他们决定采用 127号之后的空位来表示这些新的字母、符号,还加入了很多画表格时需要用下到的横线、竖线、交叉等形状,一直把序号编到了一个状态255。从128 到255这一页的字符集被称”扩展字符集“。从此之后,贪婪的人类再没有新的状态可以用了,美可能没有想到还有第三世界的人们也希望可以用到计算机吧!
ASCII,Unicode,GBK和UTF-8字符编码的区别联系
的编码!他们打算叫它”Universal Multiple-Octet Coded Character Set”,简称 UCS, 俗称 “unicode“。很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为”字节“。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为”计算机“。
开始计算机只在美国用。八位的字节一共可以组合出256(2的8次方)种不同的状态。他们把其中的编号从0开始的32种状态分别规定了特殊的用途,一但终端、打印机遇上约定好的这些字节被传过来时,就要做一些约定的动作。遇上0×10,
终端就换行,遇上0×07, 终端就向人们嘟嘟叫,例好遇上0x1b,
打印机就打印反白的字,或者终端就用彩色显示字母。他们看到这样很好,于是就把这些0×20以下的字节状态称为”控制码”。他们又把所有的空
格、标点符号、数字、大小写字母分别用连续的字节状态表示,一直编到了第127号,这样计算机就可以用不同字节来存储英语的文字了。大家看到这样,都感觉
很好,于是大家都把这个方案叫做 ANSI 的”Ascii”编码(American Standard Code for Information Interchange,美国信息互换标准代码)。当时世界上所有的计算机都用同样的ASCII方案来保存英文文字。
地把那些127号之后的奇异符号们直接取消掉,
规定:一个小于127的字符的意义与原来相同,但两个大于127的字符连在一起时,就表示一个汉字,前面的一个字节(他称之为高字节)从0xA1用到
字母、日文的名们都编进去了,连在 ASCII 里本来就有的数字、标点、字母都统统重新编了两个字节长的编码,这就是常说的”全角”字符,而原来在127号以下的那些就叫”半角”字符了。 看到这样很不错,于是就把这种汉字方案叫做 “GB2312“。GB2312 是对 ASCII 的中文扩展。
但是的汉字太多了,我们很快就就发现有许多人的人名没有办法在这里打出来,特别是某些很会麻烦别人的人。于是我们不得不继续把
后来还是不够用,于是干脆不再要求低字节一定是127号之后的内码,只要个字节是大于127就固定表示这是一个汉字的开始,不管后面跟的是不是扩展字
Byte Charunicode开始制订时,计算机的存储器容量极大地发展了,空间再也不成为问题了。于是 ISO 就直接规定必须用两个字节,也就是16位来统一表示所有的字符,对于ASCII里的那些“半角”字符,unicode包持其原编码不变,只是将其长度由原来的8位扩展为16位,而其他文化和语言的字符则全部重新统一编码。由于”半角”英文符号只需要用到低8位,所以其高8位永远是0,因此这种大气的方案在保存英文文本时会多浪费一倍的空间。ecter Set
双字节字符集)。在DBCS系列标准里,的特点是两字节长的汉字字符和一字节长的英文字符并存于同一套编码方案里,因此他们写的程序为了支持中文处
理,必须要注意字串里的每一个字节的值,如果这个值是大于127的,那么就认为一个双字节字符集里的字符出现了。那时候凡是受过加持,会编程的计算机僧侣
们都要每天念下面这个咒语数百遍: “一个汉字算两个英文字符!一个汉字算两个英文字符……”
里,使用着同一种语言的兄弟地区,也分别采用了不同的 DBCS
编码方案——当时的人想让电脑显示汉字,就必须装上一个”汉字系统”,专门用来处理汉字的显示、输入的问题,但是那个的愚昧封建人士写的程序
编码的什么”倚天汉字系统”才可以用,装错了字符系统,显示就会乱了套!这怎么办?而且世界民族之林中还有那些一时用不上电脑的穷苦,他们的文字又怎
么办? 真是计算机的巴比伦塔命题啊!
(标谁化组织)的组织决定着手解决这个问题。他们采用的方法很简单:废了所有的地区性编码方案,重新搞一个包括了地球上所有文化、所有字母和符号
这时候,从旧里走过来的程序员开始发现一个奇怪的现象:他们的strlen函数靠不住了,一个汉字不再是相当于两个字符了,而是一个!是的,从unicode开始,无论是半角的英文字母,还是全角的汉字,它们都是统一的”一个字符“!同时,也都是统一的”两个字节“,请注意”字符”和”字节”两个术语的不同,“字节”是一个8位的物理存贮单元,而“字符”则是一个文化相关的符号。在unicode中,一个字符就是两个字节。一个汉字算两个英文字符的时代已经快过去了。
unicode同样也不完美,这里就有两个的问题,一个是,如何才能区别unicode和ascii?计算机怎么知道三个字节表示一个符号,而不是分别表示三个符号呢?第二个问题是,我们已经知道,英文字母只用一个字节表示就够了,如果unicode统一规定,每个符号用三个或四个字节表示,那么每个英文字母前都必然有二到三个字节是0,这对于存储空间来说是极大的浪费,文本文件的大小会因此大出二三倍,这是难以接受的。
unicode在很长一段时间内无法推广,直到互联网的出现,为解决unicode如何在网络上传输的问题,于是面向传输的众多 UTF(UCS Transfer Format)标准出现了,顾名思义,UTF-8就是每次8个位传输数据,而UTF-16就是每次16个位。UTF-8就是在互联网上使用最广的一种unicode的实现方式,这是为传输而设计的编码,并使编码无国界,这样就可以显示全世界上所有文化的字符了。
UTF-8的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度,当字符在ASCII码的范围时,就用一个字节表示,保留了ASCII字符一个字节的编码做为它的一部分,注意的是unicode一个中文字符占2个字节,而UTF-8一个中文字符占3个字节)。从unicode到uft-8并不是直接的对应,而是要过一些算法和规则来转换。
Unicode符号范围 | UTF-8编码方式
—————————————————————–
0000 0000-0000 007F | 0xxxxxxx
0000 0080-0000 07FF | 110xxxxx 10xxxxxx
0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
oracle数据库字符集utf8和gbk的区别
如果是常用汉字,就占用三个字节,如果是生僻的字就占用4~6个字节.中文很容易出乱码
还有救是要看你的开发环境。。。如果都是WIN 默认就好。
如果 开发是WIN 应用到LINUX 那还是指定一下比较好。
U等人们得到计算机时,已经没有可以利用的就必须加装另一套支持 BIG5字节状态来表示汉字,况且有6000多个常用汉字需要保存呢。但是这难不倒智慧的,我们不客气TF-8
UTF-8和GBK分别收录了多少个汉字
UTF-8另外,如果文本中所有字符都在 ASCII 范围内,那么其实,记事本保存的所谓的「ANSI」文件,和 ASCII 或无 BOM 的 UTF-8 是一样的。用1到6个字节编因为当时各个都像这样搞出一套自己的编码标准,结果互相之间谁也不懂谁的编码,谁也不支持别人的编码,连大陆和这样只相隔了150海码UNICODE字符。用在网页上可以同一页面显示中文简体繁 体及其它语言(如英文,日文,韩文)。Windows 记事本的 ANSI,Unicode,UTF-8 这三种编码模式有什么区别
ANSI是一种字符代码,为使计算机支持更多语言,通常使用 0x80~0xFF 范围的 2 个字节来表示 1 个字符。表示英文字符时用一个字节,表示中文用两个或四个字节。 Unicode(统、万国码、单)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始参考资料来源:研发,1994年正式公布。
Unicode是组织制定的可以容纳世界上所有文字和符号的字符编码方案。目前的 Unicode字符分为17组编排,0x0000 至 0x10FFFF,每组称为平面(Plane参考资料来源:),而每 平面拥有65536个码位,共1114112个。然而目前只用了少数平面。UTF-8、UTF- 16、UTF-32都是将数字转换到程序数据的编码方案。
通用字符集(Universal Character Set, UCS)是由ISO制定的ISO 10646(或称 ISO/IEC 10646)标准所定义的标准字符集。UCS-2用两个字节编码,UCS-4用4个字 节编码。 UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。
一句话建议:涉及兼容性考量时,不要用记事本,用专业的文本编辑器保存为不带 BOM 的 UTF-8。
如果是为了跨平台兼容性,只需要知道,在 Windows 记事本的语境中:
所谓的「ANSI」指的是对应当前系统 locale 的遗留(legacy)编码。[1]
所谓的「Unicode」指的是带有 BOM 的小端序 UTF-16保存他们的文字,他们决定采用。[2]
所谓的「UTF-8」指的是带 BOM 的 UTF-8。[3]
UTF-16 理论上其实很好,字节序也标明了,但 UTF-16 毕竟不常用。
UTF-8 本来是兼容性的编码但 Windows 偏要加 BOM 于是经常出问题。
所以,跨平台兼容性的其实就是不用记事本。
Unicode严格来说是字符集,可以有多种编码。
UTF-8是一种Unicode的编码。
兼容性的,我记得好像是UTF-8不带BOM头。
注: 字符集(char set)就是字符的,收录了一定数量的字符。每个字符有对应的ID值,叫码点(code point)。实际存储的时候,不一定是直接存储字符串的码点(比如,为了节约空间),要进行转换。这个转换规则就是编码。
ascii,unicode,utf-8,gbk的区别
8位一个字节,1个字节表示一个字符.即: 2 8 = 256,所以ASCII码最多只能表示256个字符.
俗称万国码,把所有的语言统一到一个编码里.解决了ascii码的限制以及乱码的问题.
ASCII是古老的编码,那个时候还不区分字符集和编码,基本可以看作合二为一的东西。unicode码一般是用两个字节表示一个字符,特别生僻的用四个字节表示一个字符.
用Unicode编码比ascii编码需要多一unicode开始制订时,计算机的存储器容量极大地发展了,空间再也不成为问题了。于是 ISO倍的存储空间,在存储和传输上十分不方便.
符集里的内容。结果扩展之后的编码方案被称为 GBK 标准,GBK包括了GB2312 的所有内容,同时又增加了近20000个新的汉字(包括繁体字)和符号。 后来少数民族也要用电脑了,于是我们再扩展,又加了几千个新的少数民族的字,GBK扩成了 GB18030。从此之后,中华民族的文化就可以在计算机时代中传承了。 的程序员们看到这一系列汉字编码的标准是好的,于是通称他们叫做 “DBCS“(Double国内版本,一个中文字符 == 两个字节 英文是一个字节
字符编码中ASCII,Unicode和UTF-8的区别
的编码!他们打算叫它”Universal Multiple-Octet Coded Character Set”,简称 UCS, 俗称 “unicode“。ASCII码使用一个字节编码,所以它的范围基本是只有英文字母、数字和一些特殊符号 ,只有256个字符。
3、iso-8859-1:符号中的大多数都可以在不进行实体引用的情况下使用,但是实体名称或实体编号为那些不容易通过键盘键入的符号提供了表达的方法。在表示一个Unicode的字符时,通常会用“U+”然后紧接着一组十六进制的数字来表示这一个字符。在基本多文种平面(英文为 Basic Multilingual Plane,简写 BMP。它又简称为“零号平面”, plane 0)里的所有字符,要用四位十六进制数(例如U+4AE0,共支持六万多个字符);在零号平面以外的字符则需要使用五位或六位十六进制数了。旧版的Unicode标准使用相近的标记方法,但却有些微的异:在Unicode 3.0里使用“U-”然后紧接着八位数,而“U+”则必须随后紧接着四位数。
Uni新的问题出现了,如果统一成unicode编码,乱码问题从此消失了.但是如果你写的文本基本上都是英文的,code能够表示全世界所有的字节
GBK是只用来编码汉字的,GBK全称《汉字内码扩展规范》,使用双字节编码。
UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。
UTF-8 GBK UTF8 GB2312 之间的区别和关系
0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxxGBK的文字编码是双字节来表示的,即不论1、gb2312:是字符编码名称,属简体中文编码的一种。中、英文字符均使用双字节来表示,只不过为区分中文,将其位都定成1。至于UTF-8编码则是用以解决上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节3、iso-8859-1:除ASCII收录的字符外,还包括西欧语言、希腊语、泰语、语、希伯来语对应的文字符号。)来编码。对于...
歌词文件编码gbk和utf哪个好
(十六进制) | (二进制)GBGBK 等遗留编码最麻烦,所以除非你知道自己在干什么否则不要再用了。K好
GBK是大陆通用编码,UTF—8是用编码,一般是使用GBK的程序。 字符均使用双字节保存英文文本时会多浪费一倍的空间。来表示,只不过为区分中文,将其位都定成1。
GBK包含全部中文字符;UTF-8则包含全世界所有需要用到的字符。
GBK是在标准GB2312基础上扩容后兼容GB2312的标准(好像还不是标准)。