`
r2100
  • 浏览: 29836 次
  • 来自: ...
社区版块
存档分类
最新评论

关于utf-8,unicode字符集

阅读更多
utf-8是unicode的一个新的编码标准,其实unicode有过好几个标准.
我们知道一直以来使用的unicode字符内码都是16位,它实际上还不能把全世界的所有字符编在一个平面系统,比如中国的藏文等小语种,所以utf-8扩展到了32位,也就是说理论在utf-8中可容纳二的三十二次方个字符.

UNICODE的思想就是想把所有的字符统一编码,实现一个统一的标准.

big5、gb都是独立的字符集,这也叫做远东字符集,把它拿到德文版的WINDOWS上可能将会引起字符编码的冲突....
早期的WINDOWS默认的字符集是ANSI,Notepad.exe生成的纯文本就是这种字符集.

utf-8是不等幅编码,即每字符可能要1到3个字节,而unicode是两字节的,他们是怎么一回事?
在notepad.exe中输入的汉字以那种字符集编码存储的?

notepad中输入的汉字是本地编码,如果你是简体windows,就是gb编码,如果你是繁体windows,就是big5编码,utf-8和unicode关系不是很大,都属于想统一但是统一不了的编码。

UNICODE是一个标准。UTF-8是其概念上的子集,UTF-8是具体的编码标准。而UNICODE是所有想达到世界统一编码标准的标准。

UTF-8标准就是Unicode(ISO10646)标准的一种变形方式,UTF的全称是:Unicode/UCS Transformation Format,其实有两种UTF,一种是UTF-8,一种是UTF-16,不过UTF-16使用较少,其对应关系如下:

在Unicode中编码为 0000 - 007F 的 UTF-8 中编码形式为: 0xxxxxxx
在Unicode中编码为 0080 - 07FF 的 UTF-8 中编码形式为: 110xxxxx 10xxxxxx
在Unicode中编码为 0000 - 007F 的 UTF-8 中编码形式为: 1110xxxx 10xxxxxx 10xxxxxx

你可以去http://www.unicode.org 参考详细的标准。

所以它们实际上就是一样的东西,UTF-8的编码目的是这样的:UNICODE的编码对于正常的拉丁语系来讲是成倍的浪费,而UTF-8使得一般的拉丁语系的文件不需转换就是符合UNICODE标准的了,而且不是拉丁语系的文字编码也很容易就可以定位在正确的边界上,大家可以注意,只需从每个字节前两位就可以分辨出它所属的位置。

BIG5、GB2312等均属于独立的字符集,就象楼上的讲的一样。

用NOTEPAD生成的纯文本文件如果就是拉丁(罗马)文字的话,可以说就是UTF-8的文件了!但要是含有中文(GB/BIG5)或日文等,就要具体看你用的是什么平台了,一般来说它是会存成本地字符集的,但在NT/2000内部是可以直接支持UNICODE的。
分享到:
评论

相关推荐

    UNICODE与UTF-8转换

    将UNICODE字符集与UTF-8字符集相互转换

    字符集Unicode与UTF-8之间的转换

    [字符集]Unicode和UTF-8之间的转换详解

    pb9.0 UTF-8 编码转换为Unicode 编码格式

    PowerBuilder9.0开发环境下,可以把UTF-8的编码转换为Unicode的编码格式,在pb9.0环境下测试通过。

    C++ 汉字UTF-8字符串处理类库

    很多人喜欢用CString 或std:string,但是他们的缺点是不能完成汉字各种类型之间的转换,提供三种类库ascString,ucsString,utfString以及工具utfCount,utf8_ucs2_t,tcf8_ucs4_t类库,用于各种字符串之间的直接转换`...

    《一个故事带你搞懂ASCII-Unicode字符集和UTF-8编码》

    这是一篇写的非常好的故事,带你了解计算机字符编码的前世今生。让人记忆非常深刻,也拿来做过课堂演讲。——《一个故事带你搞懂ASCII-Unicode字符集和UTF-8编码》

    汉字编码转换工具(汉字与utf-8转换 gb2312转换 unicode 转转

    汉字编码转换工具,实现了汉字与 utf-8 gb2312 unicode 互转,开发者多百多度 qq:547170882

    PHP如何实现Unicode和Utf-8编码相互转换

    Unicode是一个字符集,而UTF-8是Unicode的其中一种,Unicode是定长的都为双字节,而UTF-8是可变的,对于汉字来说Unicode占有的字节比UTF-8占用的字节少1个字节。Unicode为双字节,而UTF-8中汉字占三个字节。 UTF-8...

    字符编码笔记:ASCII,Unicode和UTF-8

    今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。 结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。 下面就是我的笔记,主要用来整理自己的思路。..............

    字符编码:GBK、GB2312、UTF-8

    一、各编码间的区别及故事来历 UTF-8:Unicode ...UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,他们无需下载IE的中文语言支持包。

    php UTF-8、Unicode和BOM问题

    一、介绍 UTF-8 是一种在web应用中经常使用的一种 Unicode 字符的编码方式,使用 UTF-8 的好处在于它是一种变长的编码方式,对于 ANSII 码编码长度为1个字节,这样的话在传输大量 ASCII 字符集的网页时,可以大量...

    vs2008-Unicode字符集下CString与char_互转换

    在VS2008中,默认的字符集形式是Unicode,但在VC6.0等工程中,默认的字符集形式是多...这里总结了在VS2008环境中 Unicode字符集下CString和char *之间相互转换的几种方法,其实也就是Unicode字符集与MBCS字符集转换。

    字符编码ASCII、GB2312、Unicode、UTF-8.pdf

    详细描述了:字符编码ASCII、GB2312、Unicode、UTF-8区别。

    C语言UTF8到ANSI和Unicode转换代码

    使用C语言,实现UTF8、Unicode、ANSI字符集的互转,用C语言实现头文件和源文件,引入工程可以直接使用。如果在MFC项目中使用该代码,需要更改配置,压缩包中有详细说明。

    unicode编码(UTF8)的十六进制 与字符 互相转换

    编码包含的是中文,英文,俄文还是日文什么的,只要把它转换成Unicode就能被识别,而不用再考虑其他字符集的问题,UTF8是Unicode得一种实现方式。 unicode编码(UTF8)的十六进制 与字符 互相转换

    zh-cn-utf8

    unicode(utf8), 配置php环境必须字符编码。

    UTF-8、gb3212、unicode 编码对照表.docx

    最全的UTF-8、gb3212、unicode 编码对照表,所有中文字符的三种字符集编码都在里面,是研究乱码问题的好帮手。

    python3字符集说明.docx

    UTF-8编码是Unicode字符集的一种实现方式,它可以表示世界上所有的字符,包括中文、日文、韩文等。在Python3中,UTF-8编码可以通过使用字符串来表示。 python3字符集说明全文共2页,当前为第1页。 Python3中的字符串...

    文本文件编码转换工具 gbk utf8 gb2312

    -----MySQL 字符集: UTF-8 Unicode (utf8) -----> 2)建表时候一切默认;至于导入*.SQL没试应该是不用动什么<!-----MySQL 字符集: UTF-8 Unicode (utf8) -----> 3)在 php 文件头部加入 <meta http-equiv="Content-...

    vs打开vc工程后unicode字符串替换

    当vs2013只支持unicode字符集,打开vc6.0版本的工程后,需要把字符串的形式从 "aaa" 转换成 _T("aaa"),手工转换工作量大,本程序可实现批量转换,操作方法是将原文件内容复制过来,点击转换按钮,然后再复制回去即可...

    通过javascript进行UTF-8编码的实现方法

    javascript程序是使用Unicode字符集编写的。Unicode是ASCII和Latin-1的超集,并支持地球上几乎所有的语言。ECMAScript3要求JavaScript必须支持Unicode2.1及后续版本,ECMAScript5则要求支持Unicode3及后续版本。所以...

Global site tag (gtag.js) - Google Analytics