tim-wu
備忘: UTF-8的格式
http://www.google.com/search?hl=zh-CN&q=UTF-8+0x7FF&btnG=Google+%E6%90%9C%E7%B4%A2&lr=
java中一個(gè)char對(duì)應(yīng)一個(gè)int,長(zhǎng)度為32bit
而utf-8保存一個(gè)char時(shí),長(zhǎng)度為1-3個(gè)byte,也就是8bit-24bit。
其中code<= 0x7F的,保存為1個(gè)byte
(code >= 0x80) && (code <= 0x7FF)的,保存為2個(gè)byte
code>0x800的,保存為3個(gè)byte
因此lucene中,IndexOutput.writeChars()函數(shù)的代碼為
public
void
writeChars(String s,
int
start,
int
length)
throws
IOException
{
final
int
end
=
start
+
length;
for
(
int
i
=
start; i
<
end; i
++
)
{
final
int
code
=
(
int
) s.charAt(i);
if
(code
>=
0x01
&&
code
<=
0x7F
)
writeByte((
byte
) code);
else
if
(((code
>=
0x80
)
&&
(code
<=
0x7FF
))
||
code
==
0
)
{
writeByte((
byte
) (
0xC0
|
(code
>>
6
)));
writeByte((
byte
) (
0x80
|
(code
&
0x3F
)));
}
else
{
writeByte((
byte
) (
0xE0
|
(code
>>>
12
)));
writeByte((
byte
) (
0x80
|
((code
>>
6
)
&
0x3F
)));
writeByte((
byte
) (
0x80
|
(code
&
0x3F
)));
}
}
}
發(fā)表于 2007-09-12 17:19
鵬飛萬(wàn)里
閱讀(717)
評(píng)論(3)
編輯
收藏
評(píng)論
#
re: 備忘: UTF-8的格式
修正一下,還有4 bytes的utf-8字符集
http://m.tkk7.com/tim-wu/archive/2007/12/07/165989.html
鵬飛萬(wàn)里
評(píng)論于 2008-01-09 17:37
回復(fù)
更多評(píng)論
#
re: 備忘: UTF-8的格式
從這看出Lucene只支持到了BMP(3 bytes utf-8),估計(jì)是因?yàn)镴2SE 1.4中的字符處理是基于Unicode 3.0標(biāo)準(zhǔn)的。
目前完整的unicode需要4 bytes utf-8才能實(shí)現(xiàn)。
參考
http://zh.wikipedia.org/wiki/UTF-8
http://m.tkk7.com/tim-wu/archive/2008/01/25/177788.html
另:
Java 1.0 supports Unicode version 1.1.
Java 1.1 onwards supports Unicode version 2.0.
J2SE 1.4中的字符處理是基于Unicode 3.0標(biāo)準(zhǔn)的。
J2SE v 1.5 supports Unicode 4.0 character set.
而:
Unicode 3.0:1999年九月;涵蓋了來(lái)自ISO 10646-1的十六位元通用字元集(UCS)基本多文種平面(Basic Multilingual Plane)
Unicode 3.1:2001年三月;新增從ISO 10646-2定義的輔助平面(Supplementary Planes)
鵬飛萬(wàn)里
評(píng)論于 2008-01-25 22:29
回復(fù)
更多評(píng)論
#
re: 備忘: UTF-8的格式
補(bǔ)充:
BMP中約定了:
D800-DBFF:High-half zone of UTF-16
DC00-DFFF:Low-half zone of UTF-16
因此UTF-8中約定,D800-DFFF無(wú)意義。
當(dāng)然,這兒lucene的實(shí)現(xiàn)是可靠的并且可逆的轉(zhuǎn)換,但它其實(shí)使用2個(gè)UTF-8來(lái)表示本應(yīng)該用一個(gè)4 bytes 來(lái)表示的UTF-8符,也就是輔助平面的字符
BMP
http://zh.wikipedia.org/w/index.php?title=%E5%9F%BA%E6%9C%AC%E5%A4%9A%E6%96%87%E7%A8%AE%E5%B9%B3%E9%9D%A2&variant=zh-cn
輔助平面
http://zh.wikipedia.org/wiki/%E8%BE%85%E5%8A%A9%E5%B9%B3%E9%9D%A2
鵬飛萬(wàn)里
評(píng)論于 2008-01-26 01:34
回復(fù)
更多評(píng)論
新用戶注冊(cè)
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
<
2008年1月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
導(dǎo)航
BlogJava
首頁(yè)
發(fā)新隨筆
發(fā)新文章
聯(lián)系
聚合
管理
統(tǒng)計(jì)
隨筆: 28
文章: 0
評(píng)論: 38
引用: 1
常用鏈接
我的隨筆
我的評(píng)論
我的參與
最新評(píng)論
留言簿
(4)
給我留言
查看公開留言
查看私人留言
我參與的團(tuán)隊(duì)
WebGIS開發(fā)設(shè)計(jì)組(0/0)
隨筆檔案
2008年2月 (4)
2008年1月 (6)
2007年12月 (2)
2007年11月 (2)
2007年9月 (8)
2007年3月 (1)
2006年5月 (4)
2006年4月 (1)
搜索
最新評(píng)論
1.?re: 關(guān)于Javascript的內(nèi)存泄漏問題的整理稿
很有幫助!謝謝
--selma
2.?re: 關(guān)于Javascript的內(nèi)存泄漏問題的整理稿
對(duì)象是值傳遞的,所以第一段代碼不可能是js對(duì)象和dom對(duì)象的循環(huán)引用,而是dom自身的循環(huán)引用
--axiheyhey
3.?re: 關(guān)于Javascript的內(nèi)存泄漏問題的整理稿[未登錄]
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--鵬飛萬(wàn)里
4.?re: 關(guān)于Javascript的內(nèi)存泄漏問題的整理稿
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--goofect
5.?re: 關(guān)于Javascript的內(nèi)存泄漏問題的整理稿
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--goofect
閱讀排行榜
1.?關(guān)于Javascript的內(nèi)存泄漏問題的整理稿(18604)
2.?關(guān)于google map api中的球平投影算法接口: GProjection和GMercatorProjection類(4823)
3.?Lucene如何控制segments的數(shù)量?(4673)
4.?javascript的prototype(2523)
5.?Java7 VB2008都開始支持Lambda(Closure)了(2362)
評(píng)論排行榜
1.?關(guān)于Javascript的內(nèi)存泄漏問題的整理稿(17)
2.?關(guān)于google map api中的球平投影算法接口: GProjection和GMercatorProjection類(7)
3.?備忘: UTF-8的格式(3)
4.?Lucene如何控制segments的數(shù)量?(3)
5.?復(fù)雜度為log(n)的排序堆棧算法(2)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 鵬飛萬(wàn)里
主站蜘蛛池模板:
亚洲免费在线观看视频
|
免费人成在线视频
|
亚洲日本乱码一区二区在线二产线
|
CAOPORM国产精品视频免费
|
久久精品国产亚洲AV麻豆~
|
www.黄色免费网站
|
日本高清免费中文在线看
|
亚洲avav天堂av在线不卡
|
四虎影院免费视频
|
中文字幕在线视频免费
|
亚洲精品国产国语
|
亚洲国产精品无码久久久不卡
|
国产麻豆视频免费观看
|
久久免费国产精品
|
亚洲精品乱码久久久久蜜桃
|
日韩亚洲欧洲在线com91tv
|
午夜视频免费观看
|
伊人久久免费视频
|
猫咪免费人成网站在线观看入口
|
亚洲电影唐人社一区二区
|
亚洲国产成人久久综合区
|
无人影院手机版在线观看免费
|
国产精品永久免费视频
|
亚洲日韩av无码中文
|
亚洲综合视频在线观看
|
国产亚洲色婷婷久久99精品91
|
免费a级毛片高清视频不卡
|
成人无码WWW免费视频
|
日产久久强奸免费的看
|
亚洲精品国产日韩
|
亚洲日韩乱码中文无码蜜桃臀
|
中文字幕不卡亚洲
|
国产免费观看青青草原网站
|
青青草a免费线观a
|
一级毛片免费观看不卡的
|
久久最新免费视频
|
成年大片免费高清在线看黄
|
亚洲人成人伊人成综合网无码
|
久久精品国产亚洲AV久
|
国产aⅴ无码专区亚洲av
|
亚洲国产精品成人一区
|