中文在unicode中的编码范围

以前写过一篇贴子是写中文在unicode中的编码范围 unicode中文范围,但写的不是很详细,今天再次研究了下unicode,并给出详细的unicode取值范围。

本次研究的unicode对象是unicode 5.2.0版本。现在最新的是6.0版

对于这次研究的unicode把编码分为以下几个平面(英文中是plane,可以认为就是不同的区位)

Unicode可以逻辑分为17平面(Plane),每个平面拥有65536( = 216)个代码点,虽然目前只有少数平面被使用。

平面0 (0000–FFFF): 基本多文种平面(Basic Multilingual Plane, BMP).
平面1 (10000–1FFFF): 多文种补充平面(Supplementary Multilingual Plane, SMP).
平面2 (20000–2FFFF): 表意文字补充平面(Supplementary Ideographic Plane, SIP).
平面3 (30000–3FFFF): 表意文字第三平面(Tertiary Ideographic Plane, TIP).
平面4 to 13 (40000–DFFFF)尚未使用
平面14 (E0000–EFFFF): 特别用途补充平面(Supplementary Special-purpose Plane, SSP)
平面15 (F0000–FFFFF)保留作为私人使用区(Private Use Area, PUA)
平面16 (100000–10FFFF),保留作为私人使用区(Private Use Area, PUA)

最有用的当然就是BMP平面0了编码从U+0000至U+FFFF。那里包含了几乎全部的常用字符。
unicode基本平面区的编码区间含义

为鉴于Unicode原有的16位空间不足以应用,于是从Unicode 3.1版本开始,设立了16个扩展字码空间,称为辅助平面,
使 Unicode 的可使用空间由6万多字增至约100万字。辅助平面字符要用上4字节来存储。
unicode中的几大区间

最后小结下:

1、现在网上大多数用于判断中文字符的是 U+4E00..U+9FA5 这个范围是只是“中日韩统一表意文字”这个区间,但这不是全部,如果要全部包含,则还要他们的扩展集、部首、象形字、注间字母等等;

2E80-A4CF 加上 F900-FAFF 加上 FE30-FE4F

其中 

2E80-A4CF 


含了中日朝部首补充、康熙部首、表意文字描述符、中日朝符号和标点、日文平假名、日文片假名、注音字母、谚文兼容字母、象形字注释标志、注音字母扩展、中
日朝笔画、日文片假名语音扩展、带圈中日朝字母和月份、中日朝兼容、中日朝统一表意文字扩展A、易经六十四卦符号、中日韩统一表意文字、彝文音节、彝文字

F900-FAFF

中日朝兼容表意文字

FE30-FE4F

中日朝兼容形式

所以,一般用4E00-9FA5已经可以,如果要更广,则用2E80-A4CF  ||   F900-FAFF || FE30-FE4F

2、全角ASCII、全角中英文标点、半宽片假名、半宽平假名、半宽韩文字母:FF00-FFEF

3、不要太关心简繁中文的区别,如果要明确非要简体中文可参考unicode中简体中文编码

转载自:

http://www.iteye.com/topic/977671

中文在unicode中的编码范围

时间: 2024-08-29 10:05:50

中文在unicode中的编码范围的相关文章

C# 中文在URL中的编码

UTF-8中,一个汉字对应三个字节,GB2312中一个汉字占用两个字节. 不论何种编码,字母数字都不编码,特殊符号编码后占用一个字节. //按照UTF-8进行编码 string tempSearchString1 = System.Web.HttpUtility.UrlEncode("中国"); //按照GB2312进行编码 string tempSearchString2 = System.Web.HttpUtility.UrlEncode("中国",System

[转载]Unicode中对中文字符的编码

以前写过一篇贴子是写中文在unicode中的编码范围 unicode中文范围,但写的不是很详细,今天再次研究了下unicode,并给出详细的unicode取值范围. 本次研究的unicode对象是unicode 5.2.0版本.现在最新的是6.0版 对于这次研究的unicode把编码分为以下几个平面(英文中是plane,可以认为就是不同的区位) Unicode可以逻辑分为17平面(Plane),每个平面拥有65536( = 216)个代码点,虽然目前只有少数平面被使用. 平面0 (0000–FF

java中的编码问题

一直在试图搞清楚java中的编码问题,也看了网上的一些文章,但还是云里雾里.直到最近看了方立勋老师的web课程,才略略明白一点. 在此记录一下自己的理解,看看自己能不能说清楚. 第一个问题:我在java代码中定义了一个字符串,它是什么编码? 字符串实质是一个char数组.那么char的编码,其实就是字符串的编码.那么char什么编码呢?为什么'中'字转int类型后的值是20013呢? char c = '中'; System.out.println(c); // 中 System.out.pri

【整理】Python中实际上已经得到了正确的Unicode或某种编码的字符,但是看起来或打印出来却是乱码

转自:http://www.crifan.com/python_already_got_correct_encoding_string_but_seems_print_messy_code/ [背景] Python中的字符编码,其实的确有点复杂. 再加上,不同的开发环境和工具中,显示的逻辑和效果又不太相同,尤其是,中文的,初级用户,最常遇到的: (1)在Python自带的IDE:IDLE中折腾中文字符,结果看到的差不多都是乱码类的东西,比如:’\xd6\xd0\xce\xc4′ (2)将一个中文

python中的编码问题:以ascii和unicode为主线

  1.unicode.gbk.gb2312.utf-8的关系 http://www.pythonclub.org/python-basic/encode-detail 这篇文章写的比较好,utf-8是unicode的一种实现方式,unicode.gbk.gb2312是编码字符集: 2.python中的中文编码问题 2.1 .py文件中的编码 Python 默认脚本文件都是 ANSCII 编码的,当文件 中有非 ANSCII 编码范围内的字符的时候就要使用"编码指示"来修正. 一个mo

常用中文字体 Unicode 编码

各大网站的字体选择 网站 字体 腾讯 font: 12px "宋体","Arial Narrow",HELVETICA; 淘宝 font: 12px/1.5 tahoma,arial,'Hiragino Sans GB',\5b8b\4f53,sans-serif; 蘑菇街 font: 12px/1.6 tahoma,arial,sans-serif; SegmentFault font-family: "Helvetica Neue",Helv

mysql中latin1编码中文转utf8

在mysql中,对应的表字段编码通常默认为lartin1编码,在本地客户端显示的时候看着是乱码,但是通过mysql -u -p -h命令登录后,select查询到数据是正常的,通过jdbc或者php等去取回来的中文是乱码: 也就是中文在mysql中是lartin1,到我们自己本地或者用navicat等select却是乱码,使用mysql内置函数来转换一下 SELECT convert(unhex(hex(convert(name using latin1))) using utf8) as na

js中文转Unicode编码与解码

中文转为unicode 编码: function encodeUnicode(str) { var res = []; for (var i = 0; i < str.length; i++) { res[i] = ( "00" + str.charCodeAt(i).toString(16) ).slice(-4); } return "\\u" + res.join("\\u"); } unicode编码解码为中文: function

c#将http调用返回额json中的有关中文的unicode转换为中文(转)

转转地址:http://www.cnblogs.com/promise-7/archive/2012/11/05/2755515.html 中文转Unicode:HttpUtility.UrlEncodeUnicode(string str);转换后中文格式:"%uxxxx"  举例:"柳_abc123"  转换结果是:"%u67f3_abc123" Unicode转中文1:HttpUtility.UrlDecode(string str);st