`
elprup
  • 浏览: 116442 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ANSI, UTF8, Unicode相关知识

阅读更多
1.ANSI
字符内码(charcter code)指的是用来代表字符的内码.读者在输入和存储文档时都要使用内码,内码分为
    单字节内码 -- Single-Byte character sets (SBCS),可以支持256个字符编码.
    双字节内码 -- Double-Byte character sets)(DBCS),可以支持65000个字符编码.
前者即为ASCII编码,后者对应ANSI.
若是ASCII码表中的字符,仍使用单字节编码,若是扩展字符,使用双字节编码(最高位标示)
2. Unicode
    Unicode也是一种字符编码方法,不过它是由国际组织设计,可以容纳全世界所有语言文字的编码方案.
    Unicode字符集可以简写为UCS(Unicode Character Set)。早期的Unicode标准有UCS-2、UCS-4的说法。UCS-2用两个字节编码,UCS-4用4个字节编码。UCS-4根据最高位为0的最高字节分成2^7=128个group。每个group再根据次高字节分为256个平面(plane)。每个平面根据第3个字节分为256行 (row),每行有256个码位(cell)。group 0的平面0被称作BMP(Basic Multilingual Plane)。将UCS-4的BMP去掉前面的两个零字节就得到了UCS-2。

3.  UTF-8
    这是为传输而设计的编码,其系列还有UTF-7和UTF-16
    其中UTF-16和Unicode编码大致一样, UTF-8就是以8位为单元对Unicode进行编码。从Unicode到UTF-8的编码方式如下:
     Unicode编码(16进制)      UTF-8 字节流(二进制)
     0000 - 007F         0xxxxxxx
     0080 - 07FF         110xxxxx 10xxxxxx
     0800 - FFFF         1110xxxx 10xxxxxx 10xxxxxx

  例如“汉”字的Unicode编码是6C49。6C49在0800-FFFF之间,所以肯定要用3字节模板了:1110xxxx 10xxxxxx 10xxxxxx。将6C49写成二进制是:0110 110001 001001, 用这个比特流依次代替模板中的x,得到:11100110 10110001 10001001,即E6 B1 89。

可以参考http://blog.csdn.net/chaijunkun/archive/2009/10/11/4654397.aspx
  • 大小: 4.3 KB
分享到:
评论

相关推荐

    lua utf8 unicode ansi 转换

    require "lc" print(lc.help());... u2w(utf8 to unicode) w2a(unicode to ansi) w2u(unicode to utf8) u2a(utf8 to ansi) a2u(ansi to utf8) bstr(bytes of str) help(show this) wunoman@qq.com 2012/03/06

    Ansi Unicode UTF8编码转换及代码示例

    ### ANSI、Unicode与UTF-8编码转换及相关代码示例 #### 一、基本概念解析 在探讨ANSI、Unicode以及UTF-8之间的转换之前,我们首先需要了解这三种编码的基本概念及其应用场景。 - **ANSI编码**:ANSI(American ...

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

    本文将深入探讨C语言中UTF8、ANSI和Unicode字符集之间的转换方法,以及如何在MFC(Microsoft Foundation Classes)项目中集成这些转换代码。 首先,我们要了解UTF8、ANSI和Unicode的概念。UTF8是一种变长的Unicode...

    utf-8、ANSI、Unicode相互转化c++实现

    utf-8、ANSI、Unicode相互转化c++实现 std::string ConverANSI2UTF8(const std::string & str); std::wstring ConverANSI2Unicode(const std::string str); std::wstring ConverUTF82Unicode(const std::string str)...

    封装ANSI,UNICODE,UTF8互相转换类

    Unicode最常见的实现是UTF-16和UTF-32,但在这里我们主要关注与ANSI和UTF-8相关的转换。 3. UTF-8 编码:UTF-8是Unicode的一个变体,它使用1到4个字节来表示一个字符。UTF-8的一个重要特点是兼容ASCII,前128个字符...

    文本文件编码转换:ANSI、Unicode、UTF-8相互转换(修改版)

    ANSI --> UTF-8 Unicode --> ANSI Unicode --> UTF-8 UTF-8 --> ANSI UTF-8 --> Unicode UTF-8 --> Unicode big endian ansi转别的,不检验BOM,一律作为ansi编码进行转换 unicode转别的,首先检验BOM,不合格不...

    ANSI UNICODE UTF8转换

    ANSI、UNICODE和UTF-8是三种常见的字符编码格式,它们各自有着不同的特点和适用场景。了解这些编码方式并能够灵活转换对于开发跨平台、多语言的应用程序至关重要。 首先,让我们详细解释一下这三种编码: 1. ANSI...

    字符编码转换类,支持 ANSI、Unicode、Unicode big endian、UTF-8、UTF-8+Bom互相转换

    "CharsetConv"类提供了一个工具,帮助开发者在ANSI、Unicode(Little Endian和Big Endian)、UTF-8及UTF-8+BOM之间灵活转换,从而避免编码问题带来的困扰。通过深入学习和实践,开发者可以更好地应对各种编码挑战,...

    unicode ansi utf8 hex 转换工具

    unicode ansi utf8 hex 转换工具

    易语言ansi转utf8纯算法源码

    在"content.txt"这个文件中,很可能包含了上述过程的具体易语言源代码实现,包括相关函数或过程,用于实现ANSI到UTF-8的转换。阅读和理解这些源码可以帮助我们深入学习易语言的字符编码处理方法,以及如何利用纯算法...

    ansi转换为utf8的工具

    ANSI和UTF-8是两种常见的字符编码格式,它们各自有着不同的特点和适用场景。 标题中提到的"ansi转换为utf8的工具",主要是针对处理文本文件时的编码问题。ANSI编码,通常指的是Windows操作系统中的代码页1252,它是...

    Ansi、Unicode、UTF8字符串之间的转换,wprintf

    在 Windows 操作系统中,常见的字符串编码方式有三种:Ansi、Unicode 和 UTF8。今天我们将详细介绍这三种编码方式之间的转换,包括 Ansi 转 Unicode、Unicode 转 Ansi,以及使用 wprintf 函数进行字符串输出。 Ansi...

    utf-8 ansi 字符互转 工具

    本文将深入探讨UTF-8与ANSI字符编码的区别、转换方法以及相关工具。 首先,让我们了解这两种编码的基本概念: 1. **UTF-8**:全称为“Unicode Transformation Format - 8”,是一种变长的字符编码,可以表示...

    替换文件字符串 utf8 unicode ansi

    标题 "替换文件字符串 utf8 unicode ansi" 涉及的核心知识点主要集中在字符编码和文本处理上。在计算机科学中,字符编码是用来表示文本的数字系统,不同的编码标准有着不同的特性与适用场景。 1. **Unicode**:...

    UTF-8转ANSI文本文件转换器

    在此,我们将深入探讨UTF-8和ANSI编码的原理以及转换过程中涉及的关键知识点。 **一、UTF-8编码** UTF-8(Unicode Transformation Format - 8 bit)是一种广泛使用的变长字符编码,它能够表示Unicode字符集中的...

    [C语言]字符串处理 - ANSI - Unicode - UTF8 转换

    ANSI、Unicode和UTF-8是三种常见的字符编码格式,它们各有特点并适用于不同的场景。了解这些编码之间的转换对于开发跨平台的软件至关重要。 1. ANSI编码:ANSI(美国国家标准协会)编码通常指的是基于特定地区的...

    C++Builder String,UNICODE,UTF8,ANSI互转的类.rar_c

    在C++Builder编程环境中,处理字符串格式转换是常见的任务,特别是在与不同的编码标准如Unicode、UTF-8和ANSI打交道时。本压缩包文件“C++Builder String, UNICODE, UTF8, ANSI互转的类.rar_c”提供了一个专门用于...

    各种编码UNICODE、UTF-8、ANSI、ASCII、GB2312、GBK详解

    各种编码UNICODE、UTF-8、ANSI、ASCII、GB2312、GBK详解

    utf-8、ANSI、unicode

    根据给定文件中的标题、描述、标签以及部分内容,我们可以总结出与UTF-8、ANSI、Unicode相关的几个重要知识点。 ### 1. 字符编码基础知识 #### 1.1 ASCII编码 ASCII(American Standard Code for Information ...

Global site tag (gtag.js) - Google Analytics