下面的内容转自我的百度空间,是我收集来的,在这里看起来如果觉得排版不好,可以直接看我的空间内的文章:http://hi.baidu.com/newkedison/blog/item/1c7d2c392cc192f63b87ce12.html
有关UTF-8的一些资料2008年06月13日 星期五 08:17一, 最重要的,UTF-8和Unicode的转换
UTF-8 编码是一种被广泛应用的编码,这种编码致力于把全球的语言纳入一个统一的编码,目前已经将几种亚洲语言纳入。UTF 代表 UCS Transformation Format.
UTF-8 采用变长度字节来表示字符,理论上最多可以到 6 个字节长度。UTF-8 编码兼容了 ASC II(0-127), 也就是说 UTF-8 对于 ASC II 字符的编码是和 ASC II 一样的。对于超过一个字节长度的字符,才用以下编码规范:
左边第一个字节1的个数表示这个字符编码字节的位数,例如两位字节字符编码样式为为:110xxxxx 10xxxxxx; 三位字节字符的编码样式为:1110xxxx 10xxxxxx 10xxxxxx.;以此类推,六位字节字符的编码样式为:1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx。 xxx 的值由字符编码的二进制表示的位填入。只用最短的那个足够表达一个字符编码的多字节串。例如:
Unicode 字符: 00 A9(版权符号) = 1010 1001, UTF-8 编码为:11000010 10101001 = 0x C2 0xA9; 字符 22 60 (不等于符号) = 0010 0010 0110 0000, UTF-8 编码为:11100010 10001001 10100000 = 0xE2 0x89 0xA0
以上转换例子已经确认是正确的,不用怀疑,如果看不懂请再仔细想想
Unicode编码和utf-8编码之间的对应关系表
The table below summarizes the format of these different octet types.
The letter x indicates bits available for encoding bits of the
character number.
Char. number range | UTF-8 octet sequence
(hexadecimal) | (binary)
--------------------+---------------------------------------------
0000 0000-0000 007F | 0xxxxxxx
0000 0080-0000 07FF | 110xxxxx 10xxxxxx
0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx //////A/////////
0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
这是一个Unicode编码和utf-8编码之间的对应关系表。中文的Unicode编码范围在0000 0800-0000 FFFF 中。
二, 关于BOM
UTF-8以字节为编码单元,没有字节序的问题。UTF-16以两个字节为编码单元,在解释一个UTF-16文本前,首先要弄清楚每个编码单元的字节序。例如收到一个“奎”的Unicode编码是594E,“乙”的Unicode编码是4E59。如果我们收到UTF-16字节流“594E”,那么这是“奎”还是“乙”?
Unicode规范中推荐的标记字节顺序的方法是BOM。BOM不是“Bill Of Material”的BOM表,而是Byte Order Mark。BOM是一个有点小聪明的想法:
在UCS编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符"ZERO WIDTH NO-BREAK SPACE"。
这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little-Endian的。因此字符"ZERO WIDTH NO-BREAK SPACE"又被称作BOM。
UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符"ZERO WIDTH NO-BREAK SPACE"的UTF-8编码是EF BB BF(读者可以用我们前面介绍的编码方法验证一下)。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。
三, VB实现UTF-8转Unicode的函数
1.不使用API
Function Utf8ToUnicode(ByRef Utf() As Byte) As String
Dim utfLen As Long
utfLen = -1
On Error Resume Next
utfLen = UBound(Utf)
If utfLen = -1 Then Exit Function
On Error GoTo 0
Dim i As Long, j As Long, k As Long, N As Long
Dim B As Byte, cnt As Byte
Dim Buf() As String
ReDim Buf(utfLen)
i = 0
j = 0
Do While i <= utfLen
B = Utf(i)
If (B And &HFC) = &HFC Then
cnt = 6
ElseIf (B And &HF8) = &HF8 Then
cnt = 5
ElseIf (B And &HF0) = &HF0 Then
cnt = 4
ElseIf (B And &HE0) = &HE0 Then
cnt = 3
ElseIf (B And &HC0) = &HC0 Then
cnt = 2
Else
cnt = 1
End If
If i + cnt - 1 > utfLen Then
Buf(j) = "?"
Exit Do
End If
Select Case cnt
Case 2
N = B And &H1F
Case 3
N = B And &HF
Case 4
N = B And &H7
Case 5
N = B And &H3
Case 6
N = B And &H1
Case Else
Buf(j) = Chr(B)
GoTo Continued:
End Select
For k = 1 To cnt - 1
B = Utf(i + k)
N = N * &H40 + (B And &H3F)
Next
Buf(j) = ChrW(N)
Continued:
i = i + cnt
j = j + 1
Loop
Utf8ToUnicode = Join(Buf, "")
End Function
2. 使用API (包括Unicode转UTF-8)
Private Declare Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByVal lpDefaultChar As String, ByVal lpUsedDefaultChar As Long) As Long
Private Declare Function MultiByteToWideChar Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long
Private Const CP_UTF8 = 65001
Function Utf8ToUnicode(ByRef Utf() As Byte) As String
Dim lRet As Long
Dim lLength As Long
Dim lBufferSize As Long
lLength = UBound(Utf) - LBound(Utf) + 1
If lLength <= 0 Then Exit Function
lBufferSize = lLength * 2
Utf8ToUnicode = String$(lBufferSize, Chr(0))
lRet = MultiByteToWideChar(CP_UTF8, 0, VarPtr(Utf(0)), lLength, StrPtr(Utf8ToUnicode), lBufferSize)
If lRet <> 0 Then
Utf8ToUnicode = Left(Utf8ToUnicode, lRet)
End If
End Function
Function UnicodeToUtf8(ByVal UCS As String) As Byte()
Dim lLength As Long
Dim lBufferSize As Long
Dim lResult As Long
Dim abUTF8() As Byte
lLength = Len(UCS)
If lLength = 0 Then Exit Function
lBufferSize = lLength * 3 + 1
ReDim abUTF8(lBufferSize - 1)
lResult = WideCharToMultiByte(CP_UTF8, 0, StrPtr(UCS), lLength, abUTF8(0), lBufferSize, vbNullString, 0)
If lResult <> 0 Then
lResult = lResult - 1
ReDim Preserve abUTF8(lResult)
UnicodeToUtf8 = abUTF8
End If
End Function
Private Sub Command1_Click()
Dim byt() As Byte
byt = UnicodeToUtf8("测试")
Debug.Print Hex(byt(0)) & Hex(byt(1)) & Hex(byt(2))
Debug.Print Utf8ToUnicode(byt())
End Sub
参考资料:http://hi.baidu.com/newkedison/blog/item/1c7d2c392cc192f63b87ce12.html
我的体育考试(中考体育加试)作文
找了半天,也没有找到。
我给你一个真实的吧,就说说我自己。
这是个真实的故事。
我初三,体育老师是个精神病的男教师。
不知是什么原因,他不喜欢我,而且经常找我的查。
一次他骂我,我也就骂了他。
他拿体育加试40分威胁我。
到家我说与母亲听,母亲听后,就给他打了电话,说从今以后我们不上体育课了。
我们不要体育加试的40分了。
最糟糕的是我的体育成绩一直不好,平时训练时,我拼命跑也是在班里倒数三名。
哎,生不逢时,我的文化课成绩也直线下降,体育加试的分不敢说不要了。
说句实话,值到现在我终于知道什么叫爆发力了。
今天就是体育加试,妈妈给我买了两大块德芙巧克力。
嘱咐我跑之前吃掉。
跑之前我大口大口吃巧克力,同学们看着我直笑,我也有些不好意思了,但是也顾不得那些了。
出乎所有人的意外,包括我,谁知我们这组领跑的是我。
平时我人缘不算好的我,这时候却获得了全班同学的助威。
加油声真是响彻了天空,他们还不时的传递着xx领跑,xx领跑,居然她领跑。
我体育加试成绩满分,走出赛场碰见班主任问我得多少分,我说满分,老师的表情你们可想而知了。
回到班里更热闹了,那些没看见我跑的,而且成绩不及格的同学就开始议论了,说考官不公平,连xx都满分,太不可思议了。
又说要不我就是走后门了。
我们班看见我跑步的同学训斥他们说:你们真不要脸,xx一直是领跑,你们不拼,还咬着别人。
最后一句话,只要心中有目标,只要相拼,就有爆发力,学习也是一样,我现在要努力学习,拼一下,等到中考那天,我的学习成绩也一定会有爆发的,会发发发。
我就是想到哪写到哪,自己看看吧,我们共同努力,加油。
体育中考剪影作文大全
我的家乡有个美丽的地方——白水寺,那里不仅风景秀丽,而且还有许多古老的传说.今天,妈妈带我去游玩了白水寺.那天,一大早我们就来到了白水寺的山脚下.这里有两条路通往山顶,一条从左进,是盘山大道,路面宽阔平坦;另一条从正前方直通山顶,是一条陡峭的小路.妈妈问我从哪里上,我选择了小路.因为站在山脚下,抬头一眼就可以看到小路的尽头是一座金碧辉煌的大殿,仿佛一个巨人稳稳地坐在山顶上.爬到小路的尽头,才发现这座大殿正在修建之中,妈妈说是在修白水寺的山门.工人叔叔们正在给建筑涂很艳丽的色彩.我看了说:“涂得这么艳,要是有一个地方的漆掉了怎么办,难看死了!”妈妈说:“掉了漆才好看,显得古老些.”过了山门,小路与盘山大道交汇在一起.交汇处有个碑门,上面写着“亭马三”.我觉得很奇怪,就问妈妈:“什么亭马三呀?怎
写中考体育压力大的作文
记得去年的一个星期天下午,楼下的同学来找我出去玩,走的时候妈妈特意叮嘱我天黑了就回来,别让大人着急。
这样的叮嘱对我来说太家常便饭了,我还没有等妈妈说完就一溜烟的和同学跑出了家门。
其实我去同学家玩电脑游戏了。
我玩的忘记了天黑,忘记了妈妈的叮嘱。
天黑了,妈妈在楼下到处找我,找不到,很着急,,妈妈把电话打到了同学家,我的心咯噔了一下,再一看天都这么晚了,完了,又要挨训了,我拔腿就往回跑,就跑就想怎么和妈妈说,已经10点多了。
怎么解释?……我怀着忐忑不安的心回到了家,一进门就看到妈妈阴着个脸,我更害怕了,:“怎么回事,走的时候不是说好了,天黑了就回来吗?”妈妈的语气充满了气愤,我低着头战战兢兢地回答:“我同学不让我回来” “你自己没有主意吗?为什么听别人的,那你去他们家吧,看人家要你不,你不是爱听别人的吗!”妈妈不在听我胡编乱造了,无情的把我推出了门外,啪的一声把我关到了门外,楼道里静悄悄的又没有灯,我害怕极了,心想,妈妈因为我回来的晚了生气,还是因为我撒谎?或者是两者都有吧,我在妈妈面前撒谎不是一次两次了,我为什么不能面对我的错误而讲真话呢?为什么要用撒谎来掩饰自己的错误
我的体育考试(中考体育加试)作文
刚开学不久,我们就投入了紧张的体育锻炼中,每天都有体育课,这让我疲惫不堪,对于我这个体育本来就不怎么样的人来说简直就是一个大灾难。
最近在体育课上老师总是让我们不停的跑啊,跳啊,没休息多久又要开始继续训练,很多同学都觉得吃不消,但其实都在很努力地坚持着,不过每上完一节课骨头都好像散架了,我们根本连站都站不起来,所以我们最近这几天上课站起来说老师好的时候都是很吃力的,真的是很折磨人啊。
我知道自己体育真的是不行,所以就开始努力的练习,昨天我就决定周末开始跑步,于是我就和我妈妈一起到楼下的足球场去跑步。
长跑需要的是意志力,即使是在很累的情况下也不能停下来,我也是这样告诉自己,不管怎么累,就是不能走,于是我就开始了跑步。
一圈,两圈,三圈,这几圈跑下来我就觉得呼吸有点急促了,背后在不停地冒汗,脚开始有点没力气了,但我还是坚持着,尽量让自己不停下来,自己心里打着拍子,慢慢地跑着,过了一会儿,我的呼吸变得平稳了,我自己心里很高兴,因为终于有了一点进步,我就这样一直坚持着,我尽力保持着自己的呼吸,再慢慢地一圈一圈地跑,我跑到最后终于觉得时间够久了,就和我妈妈一起回家了,我问妈妈几点,他说我跑了半个小时,听了之后我也吓了一跳,怎么跑了那么久,不过这次锻炼也算充足了,下次一定要再坚持坚持!...
关于体育的作文400字
难忘的运动会春光明媚,百花盛开。
在这春风送暖的日子里,我们学校迎来了一年一度的校运动会。
这是我在小学阶段最后一次运动会,心中满是无比的兴奋与期待。
运动会终于开始了。
简短的开幕式,精彩、激烈、紧张的比赛都在我的心中留下了深刻的印象。
令我记忆犹新的是20*100的接力跑。
比赛开始了,只听“砰”地一声枪响,第一棒的宋浙哲同学像一支离弦的箭一般冲了出去,强中更有强中手,两旁的对手也不甘示弱,你追我赶。
只见宋浙哲准确无误地把棒子传递给了下一个同学,下一个同学又传给了另一个同学,这时,我们处于第二。
我想:别班的别得意太早,我们班的强手都在后头呢!接着一个个的强手也快轮到了,不知怎么来的,我们班的同学发挥得特别好,可能这是最后一次运动会的缘故吧!以前一直因掉棒与第一名擦肩而过的我班,跑了一半也没掉过一次。
我和同学们一起,为剩下的几名选手加油。
徐兆阳同学来了,他立刻把成绩从第二挽成了第一,紧接着余可、马起、孙浩州等人把距离拉得更远了,虽然女生有点不争气,五十多米都快被追上了,但是距离又被拉开了。
到了最后一棒,尽管他班还在奋力猛追,我们也毫不在乎,因为我们知道我们赢定了,最后一棒是陈泽同学,他的双手猛烈地摇摆着,像在炒菜一样,他飞快地向终点跑去,他的脚下像生了风一般,又与别班拉开五十多米。
啊!他一跃飞过终点,那一刻,我们全班沸腾起来。
通过这次运动会,我明白了一个道理:我们的人生道路就像是运动场,需要的是拼搏和勇气,才能带着我们跨越胜利的终点线。
求写中招体育考试感受的作文!!
我也不能给你什么好的点子,我就拿我中考时候饮食习惯给你吧!我记得我中招考试的时候,当时是中午9点开始的直到下午4点结束。
前天晚上吃得很好,但是很适量,自己感觉自己量的大小,饱就行了。
以后晚上一定要睡好,如果条件允许可以吃一二粒安眠药之类的帮助睡眠,有充足的睡眠才有精神劲,到了第二天早上就一杯奶,一块面包,一个鸡蛋,还有就是吃点维生素C片最佳了,至于为什么那我也是听体育老师说的这样好,还有考试中千万别吃口香糖,这也是老师说的,不知道用意,但是我相信肯定有他的意思,我希望你也能吧。
中途尽量的少和点水,喝最好和微微带点咸的葡萄糖水,可以马上补充体力,当天中午,要尽量吃饱,多吃点肉值食品,然后尽量抽空休息下,放松下上午的紧张情绪闭眼半个小时左右,下午保证能考好,因为我就拿到很好的成绩,我不是什么体尖,我不怎么喜欢运动,我想你也应该是这样的。
所以不管遇到什么困难,咬紧牙挺挺就过了,大不了就一两分钟的事,把你平时的烦躁与情绪一并发泄在这一两分钟里面,这样考不好心情也会好过些。
记住克服自己心魔,把自己最怕的事情想成或者换成你最想做的事情,不要怕它,你不怕它,我能做到,我一定能做到。
OK!说到这里,把这两段概括你当天之中,希望能帮到你。
无聊的人留
作文关于对中考体育的认识和以后规划
让平时努力奋发,在考试中超越自我――题记星期五,下午,阳光明媚。
在月考考场刚刚奋勇拼搏后的我们,开始第一次的中考体育模拟考……考试五项中任意选两项,而1000米必考。
全九年级6个班混合分组进行。
我的组是考跳绳﹑篮球及1000米。
跳绳场上的疯狂战绩首先进行跳绳考试。
先由我的组替女生组数。
一趟下来,只有一个满分,我们男生得意起来。
接着由女生组替我组数。
哨声一起,我们男生便挥舞神鞭,疯狂的跳着,可没跳几下就败阵下来了,大家都老是被绳子卡住。
我的绳也一样,平时能一口气顺下来的,现在没跳几下就卡住,我急起来,感觉到绳子忽长忽短,我甚至怀疑起自己的跳法不对。
结果比女生更糟,一个也没有满分,我跳了86下,才2.5分。
这下到好反被女生笑话了。
监考老师说还有一次机会,不满意可重考,分数按着高的那个。
于是,我的组与女生组都重考。
在考前,我热身了一下,绳子与跳法都没问题,看来是心态问题。
我深深的吸了口气,调整了心态,重新挑战……虽然结果不太经人意,但比起上回还是有是有进步的―—118下,3.5分。
我想以后不自以为是而偷懒了篮球场上的千钧一发三项中最没把握就是三步上篮,因为害怕手颤抖起来,幸好刚才跳绳手还酸着。
考试还没开始时,我和几个朋友在试练伸手。
后来发觉不对劲,一看同组的小a才知道考试早就开始了,当我跑到考场刚好轮到我考。
运球,拿球,一步,二步,起跳…进球!运球,绕圈,转身…起跳…进!我运回到原地,4.5分!可第二次就没那么幸运了。
……运球,绕圈,转身,手颤抖起来,起跳…没进,再投,又没进。
我急了……结果0分!0分,这对我是多大打击啊!单子出来了,幸好是算第一次的,4.5分。
看来要更多的练习。
1000米跑道的光辉胜利风险篮球过去后,我的组在慢长的等待中看完一场有一场的1000与800.。
终于轮到我的组了。
我兴奋上了战场,因为1000米是我最有实力和信心的!“预备,跑” …我很轻松的跑了第一。
就这样我带头匀速跑了一圈,第二圈我慢了下来,但我还是匀速跑着。
这是一6班超了过去。
我赶快加快速度,防止有人超过来。
我心想硬拼是不行的,还是等他慢下来吧,于是我与他保持在10米内距离……还有150米,我始终没见他慢下来。
我明白了,他已经没有力气冲了,只能匀速跑。
只剩下110米了,我开始冲,这时他也加快了速度,我要紧牙关全速向前冲。
我眼前一片空白,脚已无知觉,只有全速向前跑。
我超越了极限!他被我摔到后面!我跨过终点,第一。
我战胜了自我。
4.5分。
虽然很可惜。
离5分只差1秒,或许平时还不够努力吧。
我明白了在考试中既要超越自我,也要平时的积累。
――后记
被学校严格训练体育要中考的我的看法的作文
又到体育课了,我们怀着期待的心情排队去操场,体育课在我们的想象中是美好的,比如可以打打篮球,玩玩游戏······可是这节体育课······到了操场上之后,老师说今天我们来进行素质训练,一开始我们不知道什么是素质训练,后来才知道就是魔鬼训练。
老师给我们布置了任务,让我们以大跨步走,前腿弯成90度,后腿伸直,就这样走一圈(200米)。
刚开始,我感觉还不错,也感觉很新奇,也挺好玩的,走得飞快,可走了四分之一后,我有点累了,当走了一半之后,我两条腿开始酸痛,体力开始透支,每走一步就要来个深吸吸,腿越来越酸,一步一步艰难地走着,每走一步,就感觉被针刺了一下,快到终点时,我都是像正常走路那样走的了,实在太累太酸。
刚一到终点,我便倒了下来,趴在地上,大口喘气。
我们本以为已经结束了。
可没想到就在这时,老师又布置了第二个任务,当时我们绝望的快昏过去了。
不过没办法,还得继续。
第二个任务是,左脚先向左上方伸去,然后右脚在空中打击左脚,每五步来一次。
看老师做挺简单的,自己开始时,我学着老师的样子,左脚向左上方伸去,右脚打击,这非常顺利,可做完之后腿来不及回去,便摔了个狗啃泥,半天没爬起来,我边爬边想:好端端的搞什么素质训练啊,摔得我痛死了。
我边走边摔,快到终点时,我感觉累到下一秒就要倒在地上了。
完成之后,全身酸痛,一动都不想动了。
可就当时痛还好,最痛苦的是接下来的两天里,全身酸痛,不能剧烈运动,太痛苦了。
痛苦的体育课已经变成了我们的恶梦。
小作文试说中考体育分数增加的必要性
中考如同体育比赛,只有把体能调整到最佳状态,才能赛出好成绩和水平。
考生只有注意保持最佳状态,精神饱满,思维才能活跃,临场才能发挥好。
在以往的考试中就出现过考生由于身体不适而影响正常发挥的现象。
中考时正值夏季,天气较炎热。
从现在起,考生就要劳逸结合,注意饮食营养,保证充足睡眠,并积极进行体育锻炼。
小学生作文:我最喜欢的一个体育游戏 速度啊
我最喜欢的运动,不是人人都爱的篮球,也不是中考的体育项目之一的排球,而是一个普普通通的运动——羽毛球。
说起这羽毛球啊,我的实战经验可就丰富多了,不是我吹牛,我打羽毛球的技术可好了!不过,当初我也十一点一点学起来的,凡事都没有捷径可取嘛。
现在,我看了羽毛球都抵不住诱惑要玩呢。
今天,我来到了钱江新城,爸爸知道了我喜欢打羽毛球,就带领我和妈妈一起去打羽毛球去了。
已进入羽毛球场地,我就激动得不行,这场地,这球,这拍——不是一般般的好啊!我迫不及待地拿起羽毛球拍,抓起一个羽毛球就打。
我的第一个“对手”是爸爸。
爸爸的水平可真好,打个一回两回还是不分胜负,我着急了,可是,越着急越打不好,又过了几个回合,我反而处于下风了。
这个时候,旁边的两个小男孩看着我们打,很眼红,他们打得没味道了。
于是,我们互相交换了对手。
于是,我的第二个“对手”上场了。
这是一个胖胖的小男孩,估计还在上小学呢。
我想,原来是个小孩子,这下我赢定了!没想到,人不可貌相,海水不可斗量!这个小孩,一上场就给了我一个“下马威”。
我心里暗叫不好,使出了全力对他打。
即使是这样,我也和他只打了个平手。
不可以小看小孩子啊!不一会儿,另一个男孩来了,说是想换一下,要和我打。
我吸取了前一次的教训,很认真的和他打。
没想到,这个瘦瘦小小的小男孩打得不怎么样,但是一会儿往左打,一会儿往右打,让人打得措手不及。
于是,我略施小计,就把局势稳定了。
不一会儿,一个小时过去了,该和这个场地说拜拜了。
这次打羽毛球让我获得了丰富的经验,真是满载而归啊!
转载请注明出处作文大全网 » vb uft-8转gb2312