如果UNICODE字符由2个字节表示,则编码成UTF-8很可能需要3个字节。而如果UNICODE字符由4个字节表示,则编码成UTF-8可能需要6个字节。用4个或6个字节去编码一个UNICODE字符可能太多了,但很少会遇到那样的UNICODE字符。 UTF-8转换表表示如下:
UNICODE
|
bit数
|
UTF-8
|
byte数
|
备注
|
0000 0000 ~
0000 007F
|
0~7
|
0XXX XXXX
|
1
|
|
0000 0080 ~
0000 07FF
|
8~11
|
110X XXXX
10XX XXXX
|
2
|
|
0000 0800 ~
0000 FFFF
|
12~16
|
1110XXXX
10XX XXXX
10XX XXXX
|
3
|
基本定义范围:0~FFFF
|
0001 0000 ~
001F FFFF
|
17~21
|
1111 0XXX
10XX XXXX
10XX XXXX
10XX XXXX
|
4
|
Unicode6.1定义范围:0~10 FFFF
|
0020 0000 ~
03FF FFFF
|
22~26
|
1111 10XX
10XX XXXX
10XX XXXX
10XX XXXX
10XX XXXX
|
5
|
|
0400 0000 ~
7FFF FFFF
|
27~31
|
1111 110X
10XX XXXX
10XX XXXX
10XX XXXX
10XX XXXX
10XX XXXX
|
6
|
实际表示ASCII字符的UNICODE字符,将会编码成1个字节,并且UTF-8表示与ASCII字符表示是一样的。所有其他的UNICODE字符转化成UTF-8将需要至少2个字节。每个字节由一个换码序列开始。第一个字节由唯一的换码序列,由n位连续的1加一位0组成, 首字节连续的1的个数表示字符编码所需的字节数。
示例
UNICODE uCA(11001010) 编码成UTF-8将需要2个字节:
uCA -> C3 8A
UNICODE uF03F (11110000 00111111) 编码成UTF-8将需要3个字节:
u F03F -> EF 80 BF
Unicode 16进制
|
Unicode 2进制
|
bit数
|
UTF-8 2进制
|
UTF-8 16进制
|
CA
|
1100 1010
|
8
|
1100 00111000 1010
|
C3 8A
|
F0 3F
|
1111 0000 0011 1111
|
16
|
111011111000 00001011 1111
|
EF 80 BF
|
由上分析可以看到,UNICODE到UTF-8的转换就是先确定编码所需要的UTF-8编码字节数,然后用UNICODE编码位从低位到高位依次填入上面表示为x的位上,不足的高位以0补充。
相关推荐
### 常用汉字UTF-8字符集解析与应用 #### 概述 在数字信息时代,字符编码是数据处理的基础。UTF-8(8位通用转换格式)是一种可变长度的字符编码,用于表示Unicode标准中的字符。《常用汉字utf-8字符集》主要收集了...
oracle,GBK,UTF-8字符集下获取拼音首字母_拼音截取等 oracle汉字转拼音package_获得全拼—GBK—拼音首字母_拼音截取 oracle汉字转拼音package_获得全拼—UTF8—拼音首字母_拼音截取 还实例。
此文本文档是UTF-8字符集中汉字编码对照表,可以用于查看某个汉字在UTF-8编码集中的位置。此编码集对照表非官网下载,如需使用,请提前预估风险。另外,此对照表只用于学习研究,如需用到其他地方,后果自负。
UTF-8字符集基础 UTF-8字符集基础
Oracle 配置UTF-8字符集 详述(原创)_解决各种影响乱码的场景 1. 创建utf-8 数据库 2. ORCLE字符集命名规则 3. 如何检查导入文件的字符集 4. 导入文件并保证导入后的结果是utf-8 5. 客户端与数据库服务器字符集一致...
UTF-8 中文 字符集表 免费share UTF-8 ---> Chinese Charset Table
本文将深入探讨如何在C++中处理UTF-8字符串,并介绍相关的关键概念和技术。 首先,C++标准库并没有直接支持UTF-8编码的内置类型,但是我们可以通过`std::string`类来间接地操作UTF-8字符串。`std::string`通常用来...
UTF-8字符集是一种非常常见且兼容性极强的编码方式,它可以表示世界上几乎所有的文字。本教程将详细介绍如何在Linux环境下设置MySQL数据库的字符集为UTF-8,并讲解如何重启MySQL服务。 首先,我们需要找到MySQL的...
当UTF-8字符串中包含GBK不支持的字符时,转换可能会失败或者产生乱码。因此,在进行编码转换时,需要确保清楚源字符串的编码类型,并且在转换前后进行适当的错误检查和处理。 总的来说,理解和掌握UTF-8和GBK这两种...
很多人喜欢用CString 或std:string,但是他们的缺点是不能完成汉字各种类型之间的转换,提供三种类库ascString,ucsString,utfString以及工具utfCount,utf8_ucs2_t,tcf8_ucs4_t类库,用于各种字符串之间的直接转换`...
UTF-8和ANSI是两种常见的字符编码标准,它们各自有其特点和适用场景。本文将深入探讨UTF-8与ANSI字符编码的区别、转换方法以及相关工具。 首先,让我们了解这两种编码的基本概念: 1. **UTF-8**:全称为“Unicode ...
UTF-8是一种广泛使用的Unicode字符编码,能够表示Unicode字符集中几乎所有的字符,包括世界各地的多种语言文字。 在压缩包的文件列表中,有四个与PowerBuilder相关的文件(utf-8.pbl、utf-8.pbt、utf-8.pbw)和三个...
UCS-2转换为UTF-8代码集完整版 ...UCS-2 转换为 UTF-8 代码集完整版需要考虑多种因素,例如语言处理、特殊字符处理、错误处理等。通过使用 UCS2toUTF8Code 函数和 TStr2UTF8 函数,可以实现 UCS-2 到 UTF-8 的转换。
UTF-8,即“统一字符集的8位无符号格式”,是一种变长编码,可以表示Unicode字符集中所有的字符。对于ASCII字符(如英文字符),UTF-8只用一个字节,而对于非ASCII字符,如汉字,可能需要2到4个字节。UTF-8的最大...
ASCII 和 UTF-8 是两种广泛使用的字符编码标准,它们在计算机科学中扮演着重要的角色,尤其是在文本处理和数据传输方面。这两个编码系统都是为了将人类可读的字符转化为计算机可以理解的形式,但它们的设计和使用...
使用UTF-8编码的文本可以在世界各国的各种支持UTF-8字符集的浏览器上正确显示,无需用户下载额外的语言包。这对于面向全球用户的网站或应用而言是非常重要的。 #### 四、使用上区分 - **GBK**作为一种中国的国家...
如果是数据库,可能需要更新数据库的字符集设置,如果是文件,就需要重新写入文件,并确保文件以UTF-8编码。 4. 验证与测试:转换后,需要对结果进行验证,确保所有字符都正确转换,没有丢失或乱码的情况出现。这...
UTF-8是Unicode的一种变长字符编码,支持世界上几乎所有的字符集。本文将对“UTF-8中文字符表”进行详细解读,帮助读者更好地理解这一编码机制,并掌握如何在实际应用中使用这些字符。 #### 二、UTF-8简介 UTF-8是...
"UTF-8转ANSI文本文件转换器"就是这样一个工具,它能够帮助用户批量将UTF-8编码的文本文件转换为ANSI编码的文本文件。在此,我们将深入探讨UTF-8和ANSI编码的原理以及转换过程中涉及的关键知识点。 **一、UTF-8编码...
由于项目需要,需要字符串转为XML文件,直接用Fileopen进行EncodingUTF8编码后,发现文件实际为UTF-8 BOM编码 问度娘发现有相同问题,但解决方式是利用新建一个UTF-8的TXT文件后,再进行COPY加内容。感觉这样操作...