??xml version="1.0" encoding="utf-8" standalone="yes"?> 一些技巧: 1. 有时候想从图中删掉一个部分,准确的说是用周围的颜色覆盖这个东西,q个时候,可以用修补工P先选定q个东西Q然后用修补工具Q把选区挪动到旁边的区域Q那么这个东西就会被旁边区域的图像填充,q个功能比仿制图章工具好用多了?br />
1.相关的基本工h选框工具、套索工兗快速选择工具Q选取又分?#8220;新选区”?#8220;d到选区”?#8220;从选区减去”?#8220;与选区交叉”四种方式Q?
2.选区选出来之后,可以在选择菜单中选择修改Q》羽化,化一斚w会得选区边缘变圆滑,另一斚w会得边
~部分出现半透明的过渡效果;q有反向菜单Q还有变换菜单,可以整体Ud选区Q移动工具会Ud选区选中的图
层中的图像,而不是移动选区本nQ或者旋转选区Q?br />3.选区可以保存成alpha通道Q?br />4.选区一旦选出来之后,再做M涂抹或?br />二。选取的策?br />1. 单的Q可以通过快速选取或者魔来搞定Q?br />2. 边界清晰的,用磁性套索搞定;
3. 复杂的,可以通过抽出滤镜来搞定,q个滤镜很好用,也很Q?br />4. 如果边缘很凌乱,例如毛发Q可以通过通道中的某一个分量(可以是rgb模式Q也可以用cmyk{其他模式)来得
到选区Qƈ且可以结合大量的囑փ调整来进行,其实是把某个通道看作是一个蒙板,黑色表示遮住Q白色表C显
C,黑白之间的过渡色表示透明E度。图像调整主要有Q反向、色阶、曲Uѝ阈值等多种调整ҎQM目的是
让黑的遮住不想选的Q白的露出想被选的Q?br />5. q可以通过快速蒙板来得到选区QMQ如果只是单U的选与不选可以不考虑蒙板Q如果对选的部分也要q行>透明处理或透明q渡Q就需要把选区变成蒙板Q对黑白囄q行处理Q然后再从蒙板得到选区Q?br />三。图?br />囑ֱ是最基本的概念,说白了就是一张张透明的玻璃板Q每张上面都可以画部分图、画满图、画有一定透明度的?br />Q最后整q画的效果就是把一大摞囑ֱ合v来的整体效果Q可以想像一下一大摞ȝ板合h再让你看是啥样子Q?br />Q很自然Q上面的ȝ板上的图案会覆盖下面的玻璃板上的图案Q如果上面的ȝ板上的图案不透明的话Q?br />四。蒙?br />蒙板是在玻璃板Q图层)上盖了又一层等寸的玻璃板Q黑色表C遮住,白色表示露出Q灰色表C半透明?br />五。通道
通道是l成囄某个分量Q例如rgb模式Q就有r、g、b三个通道。alpha通道是用来保存\径的?/a>
]]>
]]>
好了Q我的找工作l历写到这里,最后给Z条走IT道\的标准化走法Q一定要在北京读书,专业学计算机,一定要_NC/C++Q一定要_NLinuxQ一定要懂点javaQ一定要p口语利Q一定要强化逻辑推理能力Q一定要做几个项目,一定要有几个让你ؓ自己骄傲的地方,普通话一定要好,说话一定要够快和吐字清晎ͼ别墨q别低声Q一定要做点各个公司的笔试题Q一定要多参加几场笔试,不要不屑于小公司Q我怿没有M一家公司的W试题目你可以答满分Q因此L能让你发现问题;一定要面试前上|搜点资料来临阵枪?br />
呵呵Q写到这里,关于我的求职l历基本告一D落了,现在一惻I才发现自己把大方向弄错,其实我ƈ不想介绍什么求职经验,只是惛_q求职的一个过E,好在以后能有Z让自己回呌D历E。其实我是很感慨的,因ؓ学习?8.5q的课本Q在学校呆了q么久,古h十年寒窗Q今人却更甚之,因此真的不容易啊Q有一个环节没把握好都不行的,q么些年Q一直孜孜以求,认真的去面对学习Q没有一L弃过Q坚持了下来Q着实不易。相信每一个求学了q么多年的学子,在找C份满意的工作之后都会有这U感觉,毕竟自己奋斗了这些最l物有所gQ能够换成money了,呵呵Q开心。以后的路还有很长,那就用一句我个h历上的自创的话来l束吧:道阻且长天行健;心怀未来定乾坤!
哦,q想起了Ҏ总裁Jobs的一句经典结束语“Stay hungry, Stay foolish!”
]]>
1.首先通过JavaScript来徏立一个XMLHttpRequestcȝ实例Q?br />
2.通过属性onreadystatechange来设定回调函敎ͼ
3.调用该实例的openҎQopen(数据传送方式GET/POSTQ服务器URLQ是否异步,[用户名]Q[口o])Q?br />
4.调用该实例的sendҎQsend(XML数据/字符??无符h数数l?null)Q注意如果ؓnullQ则表示不传递额外的数据Q仅用OpenҎ中指定的服务器URL来进行响应即可;
5.在回调函C先通过readyState属性检异步操作的状态:未初始化(0)Q正在加?1)Q已加蝲(2)Q交?3)Q已完成(4)Q?br />
6.再在回调函数中检服务器q回的HTTP状态码statusQ?00代表正常Q?br />
7.再在回调函数中,利用q回的数?responseBodyQ返回ؓ无符h数数l?responseStreamQ返回ؓIStream?responseText Q返回字W串/responseXMLQ返回ؓXML格式数据?Q基于DOMQ用JavaScript技术来修改文档的结构?/p>
ȝ一下:
其实QAjax是通过JavaScript创徏XMLHttpRequest对象Q再由JavaScript调用XMLHttpRequest对象的方法完成异步通信Q然后,再由JavaScript通过DOM的属性和ҎQ完成页面的不完全刷新?/p>
最后再说明一下异步:同步表示send之后需要一直等待服务器完全响应之后才能q行后箋的操作,因此需要等待;而异步表Csend之后立即q回Q可以l其他的操作Q而服务器一旦返回后可以自行调用回调函数来执行动作?/p>
在ASP.NET应用中,可以先安装一个Microsoft ASP.NET 2.0 AJAX Extensions 1.0Q然后就可以使用Ajax的一些常用控件了Q比如UpdatePanelQ以及Timer{,但用之前不要忘记在页面开始加一个ScriptManagerQ也可以再安装AjaxControlToolkit来获得更多的Ajax控g?/p>
=========================
Ajax 应用E序所用到的基本技?br />
1.html
l成web面所用到的基本元?br />
2.javascript
javascript代码是AJAX应用E序核心的代码,帮助ajaxE序改进与服务器通讯以实C一L用户体验
3.Dynamic HTML
用于动态更新web面
4.DOMQ文档对象模型)
用于通过javascrip代码处理HTML或服务器q回的XML
javascript与服务器端通信的最核心的对?br />
xmlHttp对象:传送XML格式数据的超文本传输协议
实际上XMLHTTP传输的数据可以是XML格式数据Q也可以是字W串Q流Q或者一个无W号整数数组。还可以是URL的参?它下辄l果可以是XML格式数据Q也可以是字W串Q流Q或者一个无W号整数数组?/p>
调用步骤
1、创建XMLHTTP对象
2、打开与服务端的连接,同时定义指o发送方式,服务|页(URL)和请求权限等?nbsp;
3、发送指令?
4、等待ƈ接收服务端返回的处理l果?
5、释放XMLHTTP对象
Ҏ
open(数据传送方?GET/POST/HEAD),服务器URL,是否异步执行,[用户名],[口o])
如:
open("GET","http://www.sohu.com",true)
send(content)
可以是XML格式数据Q也可以是字W串Q流Q或者一个无W号整数数组。也可以省略Q让指o通过OpenҎ的URL参数代入?br />
如:send(null);
setRequestHeader(HTTP ?HTTP 头?
如:xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
abort()取消当前 HTTP h
getAllResponseHeaders ()
从响应信息中索所有的HTTP 头字D?/p>
getResponseHeader(HTTP ?
从响应信息正文中获得一?HTTP 标头?/p>
属?br />
onreadystatechangeQ用以状态改变后所要作的处理的事g句柄?
readyState 异步操作的状态:未初始化(0)Q正在加?1)Q已加蝲(2)Q交?3)Q已完成(4)
responseBodyQ返回ؓ无符h数数l?
responseStreamQ返回ؓIStream?
responseText Q返回字W串?
responseXMLQ返回ؓXML格式数据?
statusQ服务器q回的HTTP状态码
statusText Q服务器HTTP响应行状?/p>
说明
1.同步和异?br />
同步状态下发送httph后,只有当客L接收到来自服务端的全部应{数据或协议栈超时返回!反之异步状态下Q直接返回。在异步方式下数据包一旦发送完毕就l束sendq程客户端执行其他的操作,而在同步方式下客L要等到服务器q回认消息后才l束sendq程。实际运用中我们Ҏ实际情况使用同步或异步,注意了如果设为同步状态可能因为服务器q回数据量大或响应慢而导致不必要的长旉{待Q?/p>
2.POST和GET
?POST"方式发送数?可以大到4MB "GET"只能256KB
========================================================
一个实例:
<!--Request.htm----------------------------------------------------------->
<html>
<head>
<title>Ajax应用实例</title>
<script type="text/javaScript">
var xmlHttp;
var requestType="";
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
function startRequest(theRequestType){
requestType = theRequestType;
createXMLHttpRequest();
xmlHttp.onreadystatechange = myCallback;
xmlHttp.open("GET","Response.xml",true);
xmlHttp.send(null);
}
function myCallback(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
if(requestType=="all")
listAll();
else if(requestType=="north")
listNorth();
}
}
}
function listAll(){
var xmlDoc = xmlHttp.responseXML;
var allProvs = xmlDoc.getElementsByTagName("prov");
outputList("all",allProvs);
}
function listNorth(){
var xmlDoc = xmlHttp.responseXML;
var north = xmlDoc.getElementsByTagName("north")[0];
var northProvs = north.getElementsByTagname("prov");
outputList("north",northProvs);
}
function outputList(title,provs){
var out=title;
var currentProv = null;
for(var i=0;i<provs.length;i++){
currentProv = provs[i];
out = out + “<br/>” + currentProv.childNodes[0].nodeValue;
}
document.getElementById(title).innerHTML = out;
}
</script>
</head>
<body>
<h1> Ajax应用实例</h1>
<form action="#">
<input type="button" value="列出所有沿L?
conclick="startRequest('all'); "/>
<div id="all"></div>
<input type="button" value="列出江北沿v省市"
conclick="startRequest('north'); "/>
<div id="north"></div>
</form>
</body>
</html>
<!--Response.xml---------------------------------------------------------->
<?xml version="1.0"encoding="utf-8" ?>
<provs>
<north>
<prov>辽宁</prov><prov>沛_</prov><prov>天|</prov>
<prov>׃</prov><prov>江苏</prov>
</north>
<south>
<prov>江</prov><prov>徏</prov><prov>q东</prov>
<prov>q西</prov><prov>南</prov><prov>上v</prov>
<prov>台湾</prov><prov>香港</prov><prov>澳门</prov>
</south>
</provs>
UnicodeQ两字节表示的世界通用码,存储为文本时会有q个字节的头信息?br /> UTF-8Q一U以8个bitZl的Unicode的表C格式,存储为本文时有三个字节的头信息?br /> UTF-16Q?6个bitZl?/p>
单词全称Q?br />
ASCII: American Standard Code Information Interchange
ANSI: American National Standard Institue
GB: Guo Biao
UTF: Unicode Translation Format
========================================================
字符是各U文字和W号的ȝQ包括各国家文字、标点符受图形符受数字等。字W集是多个字W的集合Q字W集U类较多Q每个字W集包含的字W个C同,常见字符集名UͼASCII字符集、GB2312字符集、BIG5字符集?GB 18030字符集、Unicode字符集等。计机要准的处理各种字符集文字,需要进行字W编码,以便计算够识别和存储各种文字?/p>
中文文字数目大,而且q分为简体中文和J体中文两种不同书写规则的文字,而计机最初是按英语单字节字符设计的,因此Q对中文字符q行~码Q是中文信息交流的技术基。本文将按照字符集的旉序讨论几种典型的字W集Q选取几种代表性的中文字符集,研究历史由来、特炏V技术特征?/p>
ASCII 字符?/p>
1Q名U的由来
ASCIIQAmerican Standard Code for Information InterchangeQ美国信息互换标准代码)是基于罗马字母表的一套电脑编码系l?/p>
2Q特?/p>
它主要用于显C现代英语和其他西欧语言。它是现今最通用的单字节~码pȝQƈ{同于国际标准ISO 646?/p>
3Q包含内?/p>
控制字符Q回车键、退根{换行键{?/p>
可显C字W:英文大小写字W、阿拉伯数字和西文符?/p>
4Q技术特?/p>
7位(bitsQ表CZ个字W,?28字符
5QASCII扩展字符?/p>
7位编码的字符集只能支?28个字W,Z表示更多的欧z常用字W对ASCIIq行了扩展,ASCII扩展字符集?位(bitsQ表CZ个字W,?56字符?/p>
ASCII扩展字符集比ASCII字符集扩充出来的W号包括表格W号、计符受希腊字母和Ҏ的拉丁符受?/p>
GB2312 字符?/p>
1Q名U的由来
GB2312又称为GB2312-80字符集,全称为《信息交换用汉字~码字符?#183;基本集》,由原中国国家标准d发布Q?981q??日实施?/p>
2Q特?/p>
GB2312是中国国家标准的体中文字W集。它所收录的汉字已l覆?9.75%的用频率,基本满了汉字的计算机处理需要。在中国大陆和新加坡获广泛用?/p>
3Q包含内?/p>
GB2312收录化汉字及一般符受序受数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符受汉语注韛_母,?7445 个图形字W。其中包?763个汉字,其中一U汉?755个,二汉字3008个;包括拉丁字母、希腊字母、日文^假名及片假名字母、俄语西里尔字母在内?82个全角字W?/p>
4Q技术特?/p>
Q?Q分C:
GB2312中对所收汉字进行了“分区”处理Q每区含?4个汉?W号。这U表C方式也UCؓZ码?/p>
各区包含的字W如下:01-09ZؓҎW号Q?6-55Zؓ一U汉字,按拼x序;56-87Zؓ二汉字Q按部首/W画排序Q?0-15区及88-94区则未有~码?/p>
Q?Q双字节表示
两个字节中前面的字节为第一字节Q后面的字节为第二字节。习惯上U第一字节?#8220;高字?#8221; Q而称W二字节?#8220;低字?#8221;?/p>
“高位字节”使用?xA1-0xF7(?1-87区的区号加上0xA0)Q?#8220;低位字节”使用?xA1-0xFE(?1-94加上0xA0)?/p>
5Q编码D?/p>
以GB2312字符集的W一个汉?#8220;?#8221;字ؓ例,它的区号16Q位?1Q则Z码是1601Q在大多数计机E序中,高字节和低字节分别加0xA0得到E序的汉字处理编?xB0A1。计公式是Q?xB0=0xA0+16, 0xA1=0xA0+1?/p>
BIG5 字符?/p>
1Q名U的由来
又称大五码或五大码,1984q由台湾财团法h信息工业{进会和五间软g公司宏碁 (Acer)、神?(MiTAC)、佳佟뀁零?(Zero One)、大?(FIC)创立Q故U大五码?/p>
Big5码的产生Q是因ؓ当时台湾不同厂商各自推出不同的编码,如倚天码、IBM PS55、王安码{,彼此不能兼容Q另一斚wQ台湾政府当时尚未推出官方的汉字~码Q而中国大陆的GB2312~码亦未有收录繁体中文字?/p>
2Q特?/p>
Big5字符集共收录13,053个中文字Q该字符集在中国台湾使用。耐hd的是该字W集重复地收录了两个相同的字Q?#8220;兀”(0xA461?xC94A)?#8220;嗀”(0xDCD1?xDDFC)?/p>
3Q字W编码方?/p>
Big5码用了双字节储存方法,以两个字节来~码一个字。第一个字节称?#8220;高位字节”Q第二个字节UCؓ“低位字节”。高位字节的~码范围0xA1-0xF9Q低位字节的~码范围0x40-0x7E?xA1-0xFE?/p>
各编码范围对应的字符cd如下Q?xA140-0xA3BF为标点符受希腊字母及ҎW号Q另外于0xA259-0xA261Q存放了双音节度量衡单位用字Q兙兛兞兝兡兣嗧瓩糎Q?xA440-0xC67E为常用汉字,先按W划再按部首排序Q?xC940-0xF9D5为次常用汉字Q亦是先按笔划再按部首排序?/p>
4QBig5 的局限?/p>
管Big5码内包含一万多个字W,但是没有考虑C会上流通的人名、地名用字、方a用字、化学及生物U等用字Q没有包含日文^假名及片假名字母?/p>
例如台湾?#8220;着”?#8220;?#8221;的异体字Q故没有收录“着”字。康熙字怸的一些部首用??#8220;?#8221;?#8220;?#8221;?#8220;?#8221;?#8220;?#8221;{?、常见的人名用字(?#8220;?#8221;?#8220;?#8221;?#8220;?#8221;?#8220;?#8221;{? 也没有收录到Big5之中?/p>
GB18030 字符?/p>
1Q名U的由来
GB 18030的全U是GB18030-2000《信息交换用汉字~码字符集基本集的扩充》,是我国政府于2000q??7日发布的新的汉字~码国家标准Q?001q??1日后在中国市Z发布的Y件必ȝ合本标准
2Q特?/p>
GB 18030字符集标准的出台l过q泛参与和论证,来自国内外知名信息技术行业的公司Q信息业部和原国家质量技术监督局联合实施?/p>
GB 18030字符集标准解x字、日文假名、朝鲜语和中国少数民族文字组成的大字W集计算机编码问题。该标准的字Wȝ码空间超q?50万个~码位,收录?7484个汉字,覆盖中文、日文、朝鲜语和中国少数民族文字。满中国大陆、香港、台湾、日本和韩国{东亚地Z息交换多文种、大字量、多用途、统一~码格式的要求。ƈ且与Unicode 3.0版本兼容Q填补Unicode扩展字符字汇“l一汉字扩展A”的内宏Vƈ且与以前的国家字W编码标准(GB2312QGB13000.1Q兼宏V?/p>
3Q编码方?/p>
GB 18030标准采用单字节、双字节和四字节三种方式对字W编码。单字节部分使用0×00?×7F?对应于ASCII码的相应?。双字节部分Q首字节码从0×81?×FEQ尾字节码位分别?×40?×7E?×80?×FE。四字节部分采用GB/T 11383未采用的0×30?×39作ؓ对双字节~码扩充的后~Q这h充的四字节编码,其范围ؓ0×81308130?×FE39FE39。其中第一、三个字节编码码位均?×81?×FEQ第二、四个字节编码码位均?×30?×39?/p>
4Q包含的内容
双字节部分收录内容主要包括GB13000.1全部CJK汉字20902个、有x点符受表意文字描q符13个、增补的汉字和部?构g80个、双字节~码的欧元符L。 四字节部分收录了上述双字节字W之外的Q包括CJKl一汉字扩充A在内的GB 13000.1中的全部字符?/p>
Unicode字符?/p>
1Q名U的由来
Unicode字符集编码是Universal Multiple-Octet Coded Character Set 通用多八位编码字W集的简Uͼ是由一个名?Unicode 学术学会(Unicode Consortium)的机构制订的字符~码pȝQ支持现今世界各U不同语a的书面文本的交换、处理及昄。该~码?990q开始研发,1994q正式公布,最新版本是2005q??1日的Unicode 4.1.0?/p>
2Q特?/p>
Unicode是一U在计算Z使用的字W编码。它为每U语a中的每个字符讑֮了统一q且唯一的二q制~码Q以满跨语a、跨q_q行文本转换、处理的要求?/p>
3Q编码方?/p>
Unicode 标准始终使用十六q制数字Q而且在书写时在前面加上前~“U+”Q例如字?#8220;A”的编码ؓ 004116 和字W?#8220;?”的编码ؓ 20AC16。所?#8220;A”的编码书写ؓ“U+0041”?/p>
4QUTF-8 ~码
UTF-8是Unicode的其中一个用方式?UTF?Unicode Translation FormatQ即把Unicode转做某种格式的意思?/p>
UTF-8便于不同的计机之间使用|络传输不同语言和编码的文字Q得双字节的Unicode能够在现存的处理单字节的pȝ上正传输?/p>
UTF-8使用可变长度字节来储?Unicode字符Q例如ASCII字母l箋使用1字节储存Q重x字、希腊字母或襉K字母等使用2字节来储存,而常用的汉字p使用3字节。辅助^面字W则使用4字节?/p>
5QUTF-16 ?UTF-32 ~码
UTF-32、UTF-16 ?UTF-8 ?Unicode 标准的编码字W集的字W编码方案,UTF-16 使用一个或两个未分配的 16 位代码单元的序列?Unicode 代码点进行编码;UTF-32 卛_每一?Unicode 代码点表CZؓ相同值的 32 位整数?br />
========================================================
什么是unicode, GB2312, GBK, ANSI, UTF
发展q程 ASCII à GB2312(BIG5) à GBKàGB18030
字符必须~码后才能被计算机处理。计机使用的缺省编码方式就是计机的内码。早期的计算Z?位的ASCII~码Qؓ了处理汉字,E序员设计了用于体中文的GB2312和用于繁体中文的big5?/p>
GB2312(1980q?一共收录了7445个字W,包括6763个汉字和682个其它符受汉字区的内码范围高字节从B0-F7Q低字节从A1-FEQ占用的码位?2*94=6768。其中有5个空位是D7FA-D7FE?/p>
GB2312支持的汉字太?995q的汉字扩展规范GBK1.0收录?1886个符P它分为汉字区和图形符号区。汉字区包括21003个字W?/p>
从ASCII、GB2312到GBKQ这些编码方法是向下兼容的,卛_一个字W在q些Ҏ中L有相同的~码Q后面的标准支持更多的字W。在q些~码中,英文和中文可以统一地处理。区分中文编码的Ҏ是高字节的最高位不ؓ0。按照程序员的称|GB2312、GBK都属于双字节字符?(DBCS)?/p>
2000q的GB18030是取代GBK1.0的正式国家标准。该标准收录?7484个汉字,同时q收录了藏文、蒙文、维向ְ文等主要的少数民族文字。从汉字字汇上说QGB18030在GB13000.1?0902个汉字的基础上增加了CJK扩展A?582个汉字(Unicode?0x3400-0x4db5Q,一共收录了27484个汉字?/p>
CJK是中日韩的意思。UnicodeZ节省码位Q将中日韩三国语a中的文字l一~码。GB13000.1是ISO/IEC 10646-1的中文版Q相当于Unicode 1.1?/p>
GB18030的编码采用单字节、双字节?字节Ҏ。其中单字节、双字节和GBK是完全兼容的?字节~码的码位就是收录了CJK扩展A?582个汉字。例如:UCS?x3400在GB18030中的~码应该?139EF30QUCS?x3401在GB18030中的~码应该?139EF31?/p>
微Y提供了GB18030的升U包Q但q个升包只是提供了一套支持CJK扩展A?582个汉字的新字体:新宋?18030Qƈ不改变内码。Windows 的内码仍然是GBK?nbsp;
从ASCII、GB2312、GBK到GB18030的编码方法是向下兼容的。而Unicode只与ASCII兼容
Unicode也是一U字W编码方法,不过它是由国际组l设计,可以容纳全世界所有语a文字的编码方案。unicode 为java 中的~码转换桥梁,使用了以l流qo器来桥接unicode~码文本和本地操作系l编码文本的隔阂(内码,如windows的GBK).所有的class z自abstract class Reader and Writer .后面l箋研究.
׃现有的大量程序和文档都采用了某种特定语言的编码,例如GBKQWindows不可能不支持现有的编码,而全部改用Unicode。我们称GBK为windows的内?Windows使用代码?code page)来适应各个国家和地区。code page可以被理解ؓ内码。GBK对应的code page是CP936?
what is UCS?
Unicode的学名是"Universal Multiple-Octet Coded Character Set"Q简UCؓUCS。UCS可以看作?Unicode Character Set"的羃写?/p>
UCS有两U格式:UCS-2和UCS-4。顾名思义QUCS-2是用两个字节编码,UCS-4是?个字节(实际上只用了31位,最高位必须?Q编码?nbsp;
什么是UTF
UTFQ是Unicode Text Format的羃写,意ؓUnicode文本格式。对于UTFQ是q样定义?nbsp;
Q?Q如果Unicode?6位字W的?位是0Q则用一个字节表C,q个字节的首位是 “0”Q剩下的7位与原字W中的后7位相同,?#8220;\u0034”Q?000 0000 0011 0100Q,?#8220;34” (0011 0100)表示Q(与源Unicode字符是相同的Q;
Q?Q如果Unicode?6位字W的?位是0Q则?个字节表C,首字节是“110”开_后面?位与源字W中除去?个零后的最?位相同;W二个字节以“10”开_后面?位与源字W中的低6位相同。如“\ u025d”Q?000 0010 0101 1101Q,转化后ؓ“c99d”Q?100 1001 1001 1101Q;
Q?Q如果不W合上述两个规则Q则用三个字节表C。第一个字节以“1110”开_后四位ؓ源字W的高四位;W二个字节以“10”开_后六位ؓ源字W中间的六位Q第三个字节?#8220;10”开_后六位ؓ源字W的低六位;?#8220;\u9da7”Q?001 1101 1010 0111Q,转化?#8220;e9b6a7”Q?110 1001 1011 0110 1010 0111Q;
UCS ?UTF 的联p?/p>
UTF-8是?位ؓ单元对UCSq行~码
UTF-16?6位ؓ单元对UCSq行~码
big endian和little endian
big endian和little endian是CPU处理多字节数的不同方式。例?#8220;?#8221;字的Unicode~码?C49。那么写到文仉ӞI竟是将6C写在前面Q还是将49写在前面Q如果将6C写在前面Q就是big endian。如果将49写在前面Q就是little endian?/p>
“endian”q个词出自《格列佛游记》。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开q是从小?Little-Endian)敲开Q由此曾发生q六ơ叛乱,一个皇帝送了命,另一个丢了王位?/p>
我们一般将endian译?#8220;字节?#8221;Q将big endian和little endianUC“大尾”?#8220;尾”?br />
=================================================
GB2312是GBK的子集,GBK是GB18030的子?
GBK是包括中日韩字符的大字符集合
如果是中文的|站 推荐GB2312 GBK有时q是有点问题
Z避免所有ؕ码问题,应该采用UTF-8Q将来要支持国际化也非常方便
UTF-8可以看作是大字符集,它包含了大部分文字的~码?
使用UTF-8的一个好处是其他地区的用P如香港台湾)无需安装体中文支持就能正常观看你的文字而不会出Cؕ码?/p>
词条QUTF8
UTF8q不是一U电脑编码,而是一U储存和传送的格式Q如前所qͼ每个Unicode/UCS字符都以 2?个bytes来储存,看看以下的比较:
?I am Chinese"Z
用ANSI储存Q?2 Bytes
用Unicode/UCS2储存Q?4 Bytes + 2 Bytes(header)
用UCS4储存Q?8 Bytes + 4 Bytes(header)
?我是中国?Z
用ANSI储存Q?0 Bytes
用Unicode/UCS2储存Q?0 Bytes + 2 Bytes(header)
用UCS4储存Q?0 Bytes + 4 Bytes(header)
由此可见直接以Unicode/UCS的原始Ş式来储存是一U极大的费Q而且也不利于互联|的传输(中文Eؓ合算一点^_^)?/p>
有见及此QUnicode/UCS的压~Ş式-QUTF8出现了,套用官方|站的首句话『UTF-8 stands for Unicode Transformation Format-8. It is an octet (8-bit) lossless encoding of Unicode characters.』,׃UTF也适用于编码UCSQ故亦可UCؓ『UCS transformation formats (UTF)?/p>
UTF8是以8bits?Bytes为编码的最基本单位Q当然也可以有基?6bits?2bits的Ş式,分别UCؓUTF16和UTF32Q但目前用得不多Q而UTF8则被q泛应用在文件储存和|络传输中?/p>
~码原理
先看q个模板Q?/p>
UCS-4 range (hex.) UTF-8 octet sequence (binary)
0000 0000-0000 007F 0xxxxxxx
0000 0080-0000 07FF 110xxxxx 10xxxxxx
0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
0001 0000-001F FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
0020 0000-03FF FFFF 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
0400 0000-7FFF FFFF 1111110x 10xxxxxx ... 10xxxxxx
~码步骤Q?br />
1) 首先定需要多个8bits(octets)
2) 按照上述模板填充每个octets的高位bits
3) 把字W的bits填充至x中,字符序Q低?#8594;高位QUTF8序Q最后一个octet的最末位x→W一个octet最高位x
4) 解码的原理一栗?/p>
实例Q?留意每个bit的颜Ԍ_体字ؓ模板内容)
UCS-4 UTF-8
HEX BIN Bytes BIN HEX Bytes
0000 000A 00001010 4 00001010 0A 1
0000 0099 10011001 4 11000010 10011001 C2 99 2
0000 8D99 10001101 10011001 4 11101000 10110110 10011001 E8 B6 99 3
不知大家看懂了没有,其实不懂也无所谓,反正又不用自qQ程式可以完全代功?/p>
以UTF8格式储存的文件档首标识ؓEF BB BF?/p>
效率
从上q编码原理中得出的结论是Q?br /> 1.每个英文字母、数字所占的I间? ByteQ?br /> 2.泛欧语系、斯拉夫语字母占2 BytesQ?br /> 3.汉字? Bytes?/p>
由此可见UTF8对英文来说是个非常诱人的ҎQ但对中文来说则不太合算Q无论用ANSIq是 Unicode/UCS2来编码都只用2 BytesQ但用UTF8则需? Bytes?/p>
以下是一些统计资料,昄用UTF8来储存文件每个字W所需的^均字节:
1.拉丁语系q_?.1 BytesQ?br />
2.希腊文、俄文、阿拉伯文和希伯莱文q_?.7 BytesQ?br />
3.其他大部份文字如中文、日文、韩文、Hindi(北印度语)用约3 BytesQ?br />
4.用超q? Bytes的都是些非常用的文字符受?/p>
词条QGB2312
字符必须~码后才能被计算机处理。计机使用的缺省编码方式就是计机的内码。早期的计算Z?位的ASCII~码Qؓ了处理汉字,E序员设计了用于体中文的GB2312和用于繁体中文的big5?
GB2312(1980q?一共收录了7445个字W,包括6763个汉字和682个其它符受汉字区的内码范围高字节从B0-F7Q低字节从A1-FEQ占用的码位?2*94=6768。其中有5个空位是D7FA-D7FE?
GB2312支持的汉字太?995q的汉字扩展规范GBK1.0收录?1886个符P它分为汉字区和图形符号区。汉字区包括21003个字W?000q的GB18030是取代GBK1.0的正式国家标准。该标准收录?7484个汉字,同时q收录了藏文、蒙文、维向ְ文等主要的少数民族文字。现在的PCq_必须支持GB18030Q对嵌入式品暂不作要求。所以手机、MP3一般只支持GB2312?
从ASCII、GB2312、GBK到GB18030Q这些编码方法是向下兼容的,卛_一个字W在q些Ҏ中L有相同的~码Q后面的标准支持更多的字W。在q些~码中,英文和中文可以统一地处理。区分中文编码的Ҏ是高字节的最高位不ؓ0。按照程序员的称|GB2312、GBK到GB18030都属于双字节字符?(DBCS)?
有的中文Windows的缺省内码还是GBKQ可以通过GB18030升包升U到GB18030。不qGB18030相对GBK增加的字W,普通h是很隄到的Q通常我们q是用GBK指代中文Windows内码?
q里q有一些细节:
GB2312的原文还是区位码Q从Z码到内码Q需要在高字节和低字节上分别加上A0?
在DBCS中,GB内码的存储格式始l是big endianQ即高位在前?
GB2312的两个字节的最高位都是1。但W合q个条g的码位只?28*128=16384个。所以GBK和GB18030的低字节最高位都可能不?。不q这不媄响DBCS字符的解析Q在dDBCS字符时Q只要遇到高位ؓ1的字节,可以将下两个字节作Z个双字节~码Q而不用管低字节的高位是什么?
关系名(也就是表名)和关pȝ属性集攑֜一块称为关pȝ模式。例如:Student(Xuehao,Name,Sex,Age,Dept)
完整性约束主要有三类Q?br /> 1。实体完整性约束:主键不能为空?br /> 2。参照完整性约束:外键要么为空D么ؓ一个确已存在的主键?br /> 3。用户定义的完整性约束:键的取DW合一定的实际意义
DML语句包括QSELECT、INSERT、DELETE和UPDATEQ;
DDL语句包括QCREATE,DROP,ALTERQ;
DCL语句包括QGRANT,REVOKEQ?
SQL常用数据cdQ?br />
INTEGER
NUMERIC/DECIMAL
NUMERIC(N,M)/DECIMAL(N,M)
CHAR(N)
VARCHAR(N)
BOOLEAN
DATA
TIME
逻辑q算W:
AND OR NOT
比较q算W:
<>不等?br />
!>不大?br />
!<不小?/p>
SQL函数有:
聚合函数QAVG(),COUNT(),MAX(),MIN(),SUM()
数函数QABS,COS,SIGN,POWER
字符串函敎ͼLEFT,LENGTH,LOWER,RIGHT,SUBSTR,UPPER
旉日期函数QCURDATE,CURTIME,HOUR,MINUTE,MONTH,YEAR,WEEK,SECOND
《DCT?br />
CREATE TABLE Student
{
Xuehao CHAR(7) PRIMARY KEY,
Name CHAR(8) NOT NULL,
Sex CHAR(2),
Age SMALLINT,
Dept CHAR(10) DEFAULT '计算?
};
ALTER TABLE Student ADD Address CHAR(30);
ALTER TABLE Student MODIFY Address CHAR(40);
ALTER TABLE Student DROP Address CASCADE;
DROP TABLE Student CASCADE;
《DML?br />
SELECT [DISTINCT|ALL] select_expression
[INTO table_name]
FROM table_list
[WHERE where_conditions]
[GROUP BY col_name1,col_name2,...]
[HAVING where_conditions]
[ORDER BY col_name1 [ASC|DESC],col_name2 [ASC|DESC],...]
说明QHAVING必须在有GROUP存在时才能用,HAVING是{选组的筛选器Q和WHERE一P只不qWHERE是筛选记录的?/p>
INSERT INTO table_name[(attribute_list)]
VALUES(value1,value2,...) |
SELECT 查询语句 |
TABLE table_name_another
q里要插入的数据可以有三U方法来插入?/p>
UPDATE table_name
SET (column1={expression|DEFAULT|NULL}) [column2=...]
WHERE where_conditions
DELETE FROM table_name
WHERE where_conditions
JDBC~程
1。加载驱动Class.forName("...");
2。用DriverManager.getConnection得到一个Connection对象conn;
3。用conn.createStatement()得到一个Statement对象stmt;
4。用stmt.executeQuery得到一个ResultSet对象rs;
5?/p>
Window是顶层对象,在调用Window对象的方法时Q可以不昑ּ的调用Window对象?/p>
既然是脚本,那么pC其不能够直接独立运行,需要被嵌入到某个东西中去运行?/p>
JavaScript语言中用/*...*/q行注释Q可以跨行;//可用于单行注释?/p>
可以把JavaScript脚本攑օC个单独的文g中,后缀名ؓjsQ然后在需要引用的时?lt;script type="text/javascript" src="my.js">
javascript定义的变量名是大写敏感的,而关键字是大写不敏感的?/p>
通常都用var来定义变量?/p>
===表示全相{,只有当变量的数值相{ƈ且类型也一致才会取{号?/p>
window.prompt用来弹出提示用户输入信息的对话框?/p>
定义个数l变量用var a=new Array(3);
对于for-in循环Q用法示例:for(var s in a)document.write("<li>"+a[s]+"</li>");
JavaScript中数l的元素数目可变Q即可以过数组的容量?/p>
function可以不声明返回值和q回cd。例如:
function max(a,b)
{
return a>=b ? a : b ;
}
常用事gcdQ?br /> onClick;onDbclick;onLoad;onUnload;onChange;onMousemove;onFocus;onBlur?/p>
form表单中用<input type="...">来放|一个组Ӟ其实我们也可以把q种通常只放在表单中的组件拿出来攑ֈ<body>中的M位置。例?lt;input type="button" onClick="myClick()">
event是浏览器对象window的一个属性,׃是window的,因此可以省略windowQ而直接用eventQ比如鼠标坐标用event.x和event.y?/p>
用name来标C个元素,通常是ؓ了在来讉K它的|包含的信息;用id来标C个元素,相当于一个元素的~号Q是Z来Lq操作这个元素,比如要修Ҏ式表style昄样式中的left和top的倹{?/p>
window.setInterval("showTime()",1000);
览器对象:
window
navigator
location
document
links
anchors
forms
form
elements
images
history
event
window对象常用ҎQ?br />
alert;
open("ad.html","myAdWindow","toolbar=no,menubar=no,left=200,top=200,width=250,height=250");
close;
prompt;
confirm;
setInterval;
clearInterval;
location常用ҎQ?br />
reload();h面
location="http://www.baidu.com";面跌{到其他页?/p>
history对象的主要方法:
go(index);前进或者后退index个页?br />
back;后退一个页?br />
forward;前进一个页?/p>
navigator对象的常用属性:
appName
appVersion
systemLanguage
userLanguage
platform
<head>
<title>...</title>
</head>
<body>
</body>
</html>
===========================================================
对于字体而言Q设|字体的方式如下Q?br />
<标记>文字部分</标记>
常用的标C要分|字体和讄文字形态两c:
字体用:<font face="" size="" color="">...</font>
形态常用的有:
<b>加粗
<i>斜体
<u>下划U?br />
<s>删除U?br />
<em>倾斜U?br />
<strong>加粗
<big>
<small>
此外Q对于文字部分,html语法q定义了6U标题来区分字体的大:
<h1>,<h2>,...,<h6>Q其?lt;h1>表示的字体最大?br />
============================================================
文字版面标记Q?br />
<br>是换行标讎ͼ且不需要配对就可以使用Q?br />
<nobr>...</nobr>是不换行标记Q即便窗口不够显C出全部q一行中的问题,文字也不会折断到下一行去昄。也是说不会自动换行?/p>
对于文字来讲Q要指定寚w方式Ӟ格式为:<center|left|right>...</center|/left|/right>Q而对于段落来Ԍ应该q样Q?lt;p align="right">...</p>
==================================
<table>表格标记
<th>表头标记
<tr>行标?br />
<td>单元格标?br />
表格用来格式化页面时Q通常其属性border、cellpadding、cellspacing都设|ؓ0?/p>
拍拍w上的灰振作疲惫的_
q方也许是坎坷路也许要孤孤单单CE?br />
早就习惯一个hh兛_h?br />
q无h为我付青春至上我q保留一份真
拍拍w上的灰振作疲惫的_
q方也许是坎坷路也许要孤孤单单CE?br />
莫笑我是多情U莫以成败论英雄
人的遭遇本不同但有豪情壮志在我胸
嘿呦嘿嘿嘿呦嘿管哪山高水又深
嘿呦嘿嘿嘿呦嘿也不能L我奔前程
嘿呦嘿嘿嘿呦嘿茫茫未知的旅程我要认真面对我的人生
拍拍w上的灰振作疲惫的_
q方也许是坎坷路也许要孤孤单单CE?br />
莫笑我是多情U莫以成败论英雄
人的遭遇本不同但有豪情壮志在我胸
嘿呦嘿嘿嘿呦嘿管哪山高水又深
嘿呦嘿嘿嘿呦嘿也不能L我奔前程
嘿呦嘿嘿嘿呦嘿茫茫未知的旅程我要认真面对我的人生