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

关于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转换

    在某些编程语言中,如Python,可以使用内置的函数实现转换,如`str.encode('utf-8')`将UNICODE字符串转换为UTF-8,`str.decode('utf-8')`将UTF-8字符串解码回UNICODE。 **五、实际应用** 在处理文本数据时,了解...

    UTF-8 Unicode GBK GB2312 编码之间的区别和联系

    ### UTF-8、Unicode、GBK、GB2312 编码之间的区别和联系 #### 一、引言 在互联网技术中,字符编码是非常重要的基础概念之一。字符编码不仅决定了文本在网络上的传输效率,还直接影响到了不同国家和地区用户访问...

    utf-8 ansi 字符互转 工具

    在早期的Windows系统中,ANSI编码被广泛使用,但并不支持Unicode字符集,因此对于非英文字符,如中文、日文等,可能会出现乱码问题。 接下来,我们讨论如何进行UTF-8与ANSI之间的转换: 1. **手动转换**:在编程...

    汉字字符编码(utf-8 unicode gb2312)

    3. **UTF-8**:是一种变长的Unicode编码格式,它可以使用1至4个字节来表示一个Unicode字符。对于常见的ASCII字符(如英文字符、数字、标点符号),UTF-8使用与ASCII相同的单字节编码,而对于非ASCII字符(如汉字),...

    utf-8.rar_c++ string utf-8_string to utf-8_utf_utf 8_utf-8

    如果需要处理UTF-8编码,可能需要额外的库支持,如Boost.Locale或者ICU库,这些库提供了对多字节字符集(包括UTF-8)的支持。 转换`std::string`到UTF-8通常不是必要的,因为`std::string`默认就可以存储UTF-8编码...

    常用汉字utf-8字符集.txt

    UTF-8编码通过使用1到4个字节来表示Unicode字符,对于常用的拉丁文、希腊文、西里尔文以及包括汉字在内的其他语言文字,它能够高效地进行编码。例如,ASCII字符只需一个字节,而大多数现代语言的字符(如汉字)则...

    UTF-8中文字符表

    UTF-8是Unicode的一种变长字符编码,支持世界上几乎所有的字符集。本文将对“UTF-8中文字符表”进行详细解读,帮助读者更好地理解这一编码机制,并掌握如何在实际应用中使用这些字符。 #### 二、UTF-8简介 UTF-8是...

    多字节与UTF-8、Unicode之间的转换

    2. **UTF-8**:UTF-8是一种可变长度的字符编码,它可以用于编码所有Unicode字符,并且兼容ASCII编码。对于英文等使用较少字节就能表示的文字,UTF-8非常高效。 3. **Unicode**:Unicode是一种标准,旨在为世界上所有...

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

    "字符集Unicode与UTF-8之间的转换" 在计算机科学中,字符集和编码方式是非常重要的概念,特别是在多语言环境中。Unicode和UTF-8是两种常用的字符集和编码方式,本文将详细介绍它们之间的转换。 Unicode Unicode是...

    UTF-8 UNICODE GBK 相互转换C源码

    3. UTF-8 to GBK:由于GBK字符集不包含所有Unicode字符,因此这个转换可能需要处理无法映射的字符。通常,这些字符会被替换为替代字符或者抛出错误。 4. GBK to UTF-8:与UTF-8到GBK的转换类似,GBK字符到UTF-8的...

    ASCII 及UTF-8 与字符互相转换

    UTF-8(UCS Transformation Format - 8 bit),则是一种基于Unicode的多字节编码方式。Unicode 包含了世界上几乎所有的字符集,包括ASCII在内的多种字符集。UTF-8 最大的特点是其编码规则是可变的,它可以使用1到4个...

    C++ UTF-8与 Unicode互相转换.docx

    UTF-8和Unicode是两种广泛使用的字符编码标准,它们各自有其特点和应用场景。本文将详细探讨C++中如何进行UTF-8与Unicode之间的转换,以及涉及的相关知识。 首先,我们要了解UTF-8和Unicode的基本概念。Unicode是一...

    ASCII Unicode 和UTF-8区别

    Unicode字符集可以容纳100万以上的符号,每个符号都有一个独一无二的代码点。但需要注意的是,Unicode仅定义了字符的代码点,并没有规定如何将这些代码点存储到计算机中。因此,Unicode的实现方式包括UTF-8、UTF-16...

    UTF-8toGBK_labview编码gbk_LabVIEWUTF-8_utf-8toGbk_

    UTF-8的优势在于对ASCII字符集的兼容性,前128个Unicode字符(包括英文、数字和常见符号)只需要一个字节表示,这使得UTF-8在互联网上广泛使用,因为其与ASCII的兼容性可以减少传输数据量。此外,UTF-8也支持全球大...

    PB9转换utf-8例子

    UTF-8是一种广泛使用的Unicode字符编码,能够表示Unicode字符集中几乎所有的字符,包括世界各地的多种语言文字。 在压缩包的文件列表中,有四个与PowerBuilder相关的文件(utf-8.pbl、utf-8.pbt、utf-8.pbw)和三个...

    UTF-8转Unicode

    UTF-8(8位Unicode转换格式)是一种变长的字符编码,它可以表示Unicode字符集中所有的140万个字符。UTF-8的特点在于它对ASCII字符(如英文、数字等常见字符)使用单字节编码,与传统的ASCII编码兼容,而对于非ASCII...

    简洁GBK UTF-8 UNICODE 转换工具

    2. **UTF-8编码**:UTF-8是一种变长的Unicode编码方式,它可以编码所有Unicode字符。UTF-8的特点是英文字符(ASCII字符)只用单字节表示,而大多数其他语言字符则使用2到4个字节。这种设计使得UTF-8在互联网上得到了...

    gb2312,utf-8,utf-8-bom等编码格式的互相转换

    UTF-8,即“统一字符集的8位无符号格式”,是一种变长编码,可以表示Unicode字符集中所有的字符。对于ASCII字符(如英文字符),UTF-8只用一个字节,而对于非ASCII字符,如汉字,可能需要2到4个字节。UTF-8的最大...

    VB6.0 UTF-8转换GB2312函数

    UTF-8是一种广泛使用的Unicode编码,而GB2312是中国大陆常用的简体中文字符集,主要用于早期的计算机系统。在这个场景下,我们通常需要编写自定义函数来完成这种转换。 以下是一个简单的VB6.0函数示例,用于将UTF-8...

    UCS-2转换为utf-8代码

    UTF-8(Unicode Transformation Format 8)是一种 Unicode 编码形式,用于将 Unicode 字符转换为可读的 ASCII 码。以下是 UCS-2 转换为 UTF-8 代码集完整版的知识点: UCS-2 编码形式 UCS-2 是一种 Unicode 编码...

Global site tag (gtag.js) - Google Analytics