`

UTF8与Unicode的转换

阅读更多

如果UNICODE字符由2个字节表示,则编码成UTF-8很可能需要3个字节,而如果UNICODE字符由4个字节表示,则编码成UTF-8可能需要6个字节。用4个或6个字节去编码一个UNICODE字符可能太多了,但很少会遇到那样的UNICODE字符。

UTF-8转换表表示如下:

 

 

UNICODE UTF-8
00000000 - 0000007F 0xxxxxxx
00000080 - 000007FF 110xxxxx 10xxxxxx
00000800 - 0000FFFF 1110xxxx 10xxxxxx 10xxxxxx
00010000 - 001FFFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
00200000 - 03FFFFFF 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
04000000 - 7FFFFFFF 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

 

 

实际表示ASCII字符的UNICODE字符,将会编码成1个字节,并且UTF-8表示与ASCII字符表示是一样的。所有其他的UNCODE字符转化成UTF-8将需要至少2个字节。每个字节由一个换码序列开始。第一个字节由唯一的换码序列,由n位1加一位0组成。n位1表示字符编码所需的字节数。

  示例

  UNICODE uCA(11001010) 编码成UTF-8将需要2个字节:

  uCA -> C3 8A

  UNICODE uF03F (11110000 00111111) 编码成UTF-8将需要3个字节:

  u F03F -> EF 80 BF

  译者注:由上分析可以看到,UNCODE到UTF-8的转换就是先确定编码所需要的字节数,然后用UNICODE编码位从低位到高位依次填入上面表示为x的位上,不足的高位以0补充。以上是个人经验,如有错误,请不惜指教,谢过先:)

 

从百度百科上找的。

分享到:
评论

相关推荐

    UTF8与Unicode转换类

    全面实现Ansi、Unicode、UTF8字符串之间的转换

    unicode和utf8编码相互转换C代码

    内容为utf8编码和unicode编码相互转换的C代码,关于utf8和unicode的用途另一篇博客有介绍,请参考。 压缩包 : ntf_code.rar 列表 ntf_code\uni_utf8.h ntf_code\utf8_u.c ntf_code\utf82u.c ntf_code\u2utf8.c ntf_...

    UNICODE与UTF-8转换

    UTF-8是一种变长的Unicode转换格式,它将UNICODE码点转换为可变长度的字节序列。UTF-8的优势在于其对ASCII字符的兼容性:英文和其他使用ASCII字符的语言,如大部分编程语言,只需要1个字节表示,这使得UTF-8在互联网...

    unicode转换UTF8.rar

    unicode转换UTF8.rar unicode转换UTF8.rar unicode转换UTF8.rar unicode转换UTF8.rar unicode转换UTF8.rar unicode转换UTF8.rar

    utf-8与unicode相互转换代码

    utf-8与unicode相互转换代码

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

    本文将详细探讨C++中如何进行UTF-8与Unicode之间的转换,以及涉及的相关知识。 首先,我们要了解UTF-8和Unicode的基本概念。Unicode是一个通用的字符集,它包含世界上几乎所有的文字和符号,每个字符都有一个唯一的...

    Delphi中UTF-8,Unicode格式转换

    delphi7调用delphi2009生成的dll文件会出现乱码问题。是unicode的原因 终于找到了UTF-8、Unicode格式转换函数

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

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

    UTF8转Unicode的详细介绍

    UTF8是Unicode的一种编码方式,全称为“8位Unicode转换格式”。它是目前最广泛使用的Unicode编码形式,因为它具有许多优点。UTF8的一个关键特性是它使用不同数量的字节来表示不同的字符。例如,ASCII字符(包含英文...

    简洁GBK UTF-8 UNICODE 转换工具

    在标题提到的“简洁GBK UTF-8 UNICODE转换工具”中,我们主要关注三种字符编码:GBK、UTF-8和Unicode。 1. **GBK编码**:GBK是中国大陆广泛使用的汉字编码标准,它是GB2312的扩展,兼容GB2312的同时增加了更多的...

    vb utf8转Unicode

    1. **UTF-8与Unicode**: - **UTF-8**是一种变长字符编码,用于表示Unicode标准中的字符。它具有向后兼容ASCII的特点,并且能够有效地压缩常见字符。 - **Unicode**是一种统一的字符编码标准,旨在为世界上所有...

    两个C++类:UTF8自动转换至Unicode,Unicode自动转换至UTF8

    总之,理解和掌握UTF8与Unicode之间的转换是每个IT从业者必备的技能之一,特别是在处理多语言、跨平台的软件开发中。通过自定义类或使用现成的库,我们可以有效地在C++中实现这两种编码间的自动转换,以满足各种需求...

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

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

    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

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

    ### 多字节与UTF-8、Unicode之间的转换 在计算机科学领域,字符编码是将文字映射到二进制数据的一种方式。不同的字符编码方案适用于不同的应用场景。本篇文章主要探讨的是多字节(MBCS)编码与UTF-8、Unicode编码...

    unicode_utf8转换 unicode_utf8转换

    1. **Unicode到UTF-8的转换**:给定一个Unicode码点,我们需要将其转换为UTF-8编码的字节序列。这通常通过一系列的位操作完成,如确定前导字节的数量,设置特定的位模式,然后将码点拆分为多个字节。 2. **UTF-8到...

    UTF-8转Unicode

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

    易语言unicode转换UTF8.rar

    易语言unicode转换UTF8.rar 易语言unicode转换UTF8.rar 易语言unicode转换UTF8.rar 易语言unicode转换UTF8.rar 易语言unicode转换UTF8.rar 易语言unicode转换UTF8.rar

    易语言源码unicode转换UTF8.rar

    本压缩包“易语言源码unicode转换UTF8.rar”显然包含了与字符编码转换相关的源代码,特别是从Unicode编码转换到UTF-8编码的实现。 Unicode是一种统一的字符编码标准,它为世界上几乎所有的字符提供了一个唯一的数字...

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

    要将Unicode转换为UTF-8,需要了解它们之间的区别。Unicode是一个字符集,而UTF-8是一种实现Unicode的编码方式。在UTF-8中,如果一个字符的字节小于0x80(128),则为ASCII字符,占一个字节,可以不用转换,因为UTF-...

Global site tag (gtag.js) - Google Analytics