首先复习一下计算机基础知识: 计算机中最底层的数据都是用二进制及0和1来表示的。每个0或1称作1位,第8位二进制数叫做1个字节,它可以表示ASCII码中的一个字符。中文计算机中用两个字节即16位二进制来表示一个汉字。而在Unicode编码中所有的符号(包括汉字,英文,标题及其它众多符号)都是为两字节(16)位来表示。 GB2312码是中华人民共和国国家汉字信息交换用编码,全称《信息交换用汉字编码字符集——基本集》,由国家标准总局发布,1981年5月1日实施,通行于大陆。新加坡等地也使用此编码。 GB2312收录简化汉字及符号、字母、日文假名等共7445个图形字符,其中汉字占6763个。GB2312规定“对任意一个图形字符都采用两个字节表示,每个字节均采用七位编码表示”,习惯上称第一个字节为“高字节”,第二个字节为“低字节”。 GB2312将代码表分为94个区,对应第一字节;每个区94个位,对应第二字节,两个字节的值分别为区号值和位号值加32(2OH),因此也称为区位码。01-09区为符号、数字区,16-87区为汉字区,10-15区、88-94区是有待进一步标准化的空白区。GB2312将收录的汉字分成两级:第一级是常用汉字计3755个,置于16-55区,按汉语拼音字母/笔形顺序排列;第二级汉字是次常用汉字计3008个,置于56-87区,按部首/笔画顺序排列。故而GB2312最多能表示6763个汉字。 国标码是一个四位十六进制数,区位码是一个四位的十进制数,每个国标码或区位码都对应着一个唯一的汉字或符号,但因为十六进制数我们很少用到,所以大家常用的是区位码,它的前两位叫做区码,后两位叫做位码。 通常,在DOS下的各汉字系统中,同时按Alt键和F1键即可调用区位码输入方法。而在Windows中常用Ctrl+空格键和Ctrl+Shift键调出区位码。如“2901”代表“健”字,“4582”代表“万”字,“8150”代表“楮”字,这些都是汉字,用区位码还可以很轻松地输入特殊符号,比如,“0189”代表“※”(符号),“0528”代表“ゼ”(日本语),“0711”代表“Й”(俄文),“0949”代表“┭”(制表符)。 在区位码中,01-09区为特殊字符,10-55区为一级汉字(3755个最常用的汉字,按拼音字母的次序排列),56-87区为二级汉字(3008个汉字,按部首次序排列), 在区位码汉字输入方法中,汉字编码无重码。 GBK GB2312-80仅收汉字6763个,这大大少于现有汉字,随着时间推移及汉字文化的不断延伸推广,有些原来很少用的字,现在变成了常用字,例如:朱镕基的“镕”字,未收入GB2312-80,现在大陆的报业出刊只得使用(金+容)、(金容)、(左金右容)等来表示,形式不一而同,这使得表示、存储、输入、处理都非常不方便,对于搜索引擎等软件的构造来说也不是好消息,而且这种表示没有统一标准。从我们对人民日报98年数据的处理过程中,得出这样的经验:回填外字最困难的就是如何得到这种表示方法的集合。 为了解决这些问题,以及配合UNICODE的实施,全国信息技术化技术委员会于1995年12月1日《汉字内码扩展规范》。GBK向下与GB2312完全兼容,向上支持ISO 10646国际标准,在前者向后者过渡过程中起到的承上启下的作用。GBK 亦采用双字节表示,总体编码范围为8140-FEFE之间,首字节在81-FE之间,尾字节在40-FE之间,剔除XX7F一条线。 GBK共收入21886个汉字和图形符号,包括: GB2312中的全部汉字、非汉字符号。 BIG5中的全部汉字。 与ISO 10646相应的国家标准GB13000中的其它CJK汉字,以上合计20902个汉字。 其它汉字、部首、符号,共计984个。 汉字编码的常识 我们知道,英文字符一般是以一个字节来表示的,最常用的编码方法是 ASCII 。但一个 字节最多只能区分256个字符,而汉字成千上万,所以现在都以双字节来表示汉字,为了 能够与英文字符分开,每个字节的最高位一定为1,这样双字节最多可以表示64K格字符 。我们经常碰到的编码方式有 GB2312、BIG5、UNICODE 等。关于具体编码方式的详细资 料,有兴趣的读者可以查阅相关资料。我肤浅谈一下和我们关系密切的 GB2312 和 UNI CODE。GB2312 码,中华人民共和国国家标准汉字信息交换用编码,是一个由中华人民共 和国国家标准总局发布的关于简化汉字的编码,通行于中国大陆地区及新加坡,简称国 标码。两个字节中,第一个字节(高字节)的值为区号值加32(20H),第二个字节(低 字节)的值为位号值加32(20H),用这两个值来表示一个汉字的编码。UNICODE 码是微 软提出的解决多国字符问题的多字节等长编码,它对英文字符采取前面加“0”字节的策 略实现等长兼容。如 “A” 的 ASCII 码为0x41,UNICODE 就为0x00,0x41。利用特殊 的工具各种编码之间可以互相转换。 在System.Text命名空间中包含众多编码的类,可供进行操作及转换,下面用两个实例来进行区位码及汉字之间的互换,希望能起到举一反三的效果,让大家可以轻松处理文字编码方面的问题: using System; using System.Text; class CodingChange { public string CharacterToCoding(string character) { string coding = “”; for (int i = 0; i<character.Length; i++ ) { byte[] bytes = System.Text.Encoding.Unicode.GetBytes(character.Substring(i,1)); //取出二进制编码内容 string lowCode = System.Convert.ToString(bytes[0], 16); //取出低字节编码内容(两位16进制) if (lowCode.Length == 1) lowCode = "0" + lowCode; string hightCode = System.Convert.ToString(bytes[1], 16);//取出高字节编码内容(两位16进制) if (hightCode.Length == 1) hightCode = "0" + hightCode; coding += (lowCode + hightCode);//加入到字符串中, } return coding; } public string CodingToCharacter(string coding) { string characters = ""; if (coding.Length % 4 != 0)//编码为16进制,必须为4的倍数。 { throw new System.Exception("编码格式不正确"); } for (int i = 0; itest 1162ec4e847627592d4efd560cff2f667d5928578476004e2a4eb65b2e00 我们的大中国,是好在的一个家.
XviD的历史与特点
作者:沈晟 2002年,TDX2002的规则中,除了允许使用旧有的DivX3.11编码之外,新加入了第二种核准使用的编码–也就是本文标题中的XivD编码。作为每年在网上放出数千部最新影片的网上高品质影音组织,他们所遵循的规则对于整个MPEG-4编码的应用市场来说,都有决定性的重要意义。XviD在TDX2002中,以DivX3.11的替代者的姿态出现,还有人戏称:XviD是继承DivX3.11的非商业同人版。那么XviD到底是什么?它又有些什么样通天彻底的视频压缩本领?或许您并不知道的是:XviD是个本来不会出现的东西…… 几经波折的诞生记 4年以前,在PC上能用的唯一MPEG-4编码器就是由微软所开发的,包括MS MPEG4V1、MS MPEG4V2、MS MPEG4V3的系列编码内核。其中前面两种都可以用来制作AVI文件,至今都作为Windows的默认组件。不过V1和V2的编码质量都还不太好,直到MS MPEG4V3开始,画面质量有了显著的进步。不过微软却决定仅将这个MS MPEG4V3 的视频编码内核封闭在Windows Media流媒体技术,也就是我们熟知的ASF文件之中,不再能用于AVI文件。ASF文件虽然有一些好处,但是过于封闭甚至不能被编辑,惹恼了天不怕地不怕的电影黑客。很快便有小组修改了微软的MS MPEG4V3,解除了不能用于AVI文件的限制,并开放了其中一些压缩参数,由此,也就诞生了我们今天所熟悉的MPEG4编码器DivX;-)3。11。 DivX广泛流行,成为DVDRip的标准,问题是,它的基础技术是非法盗用微软的,只能在地下里流传却上不了台面,无法进行更广泛的产品化,更无法生产硬件播放机。在这种情况下,一些精通视频编码的程序员(包括原DivX 3.11的开发者)成立了一家名为DivXNetworks Inc.的公司,简称DXN。DXN发起一个开放源码项目ProjectMayo,目标是开发一套全新的、开放源码的MPEG4编码软件。特别是完全符合ISO MPEG4标准的OpenDivX CODEC吸引了许多软件高手参与,并很快开发出OpenDivX编码器和解码器原型,之后又开发出更高性能的编码器Encore 2等等。这一时期,主要编码工作是DXN的人在做,而许多技术难关的解决得力于来自开放源码社会的帮助。 就在一切都看起来进展顺利的时候,好戏上演了。ProjectMayo虽然是开放源码,但不是依据GPL(通用公共许可证,一种开放源码项目中常用的保障自由使用和修改的软件或源码的协议)。DXN在设计授权协议时留了一手,2001年7月,就在Encore 2基本成型,差不多可以产品化的时候,DXN另搞了一个DIVX.COM网站,封闭了源码,发布了他们自己的DivX 4。DivX 4的基础就是OpenDivX中的Encore 2,但利用了DivX的牌号,可以说出乎意料的摆了所有人一刀。由于DXN不再参与,ProjectMayo陷于停顿,Encore2的源码也被DXN从服务器上撤下。经过激烈的争论,DXN虽然承认Encore 2在法律上是开放的,但仍然拒绝把它放回服务器。开放源码社会就这样被狠狠地涮了一回。 OpenDivX尚不能实际使用,而DivX 4(以及后续的收费版本–DivX 5)等等都成了私有财产,许多人为打破微软垄断而无偿付出的智慧和劳动仅仅是帮助了DXN发财,这种结果当然是不能被接受的。为此,整个0dayz组织永远的拒绝了DXN公司的DivX4\5,而原OpenDivX开发组中的幸存者,逐渐重新聚拢开发力量,在最后一个OpenDivX版本的基础上,发展出了XviD。 劫后余生的XVID到现在又度过了近1年时间,它继承并发展了OpenDIVX Encore 2,性能得到极大提高,被认为目前世界上速度最快的MPEG4 CODEC。XVID重写了所有代码,并吸取前车之鉴依照GPL发布(注意不再是LGPL,所以谁要是想用它做成产品而不开放源码是非法的)。不过,因为MPEG4还存在专利权的问题,所以XVID只能仿照LAME的做法,仅仅作为对如何实现ISO MPEG-4标准的一种研究交流,网站上只提供源码,如果要使用就要自己编译源码或者到第三方网站下载编译好的可运行版本。 想当初Gaj之流的几个家伙搞OpenDivX的时候,一开始是很像一个像模像样的开放源码项目,很多人都被吸引过去一起开发,测试。直到后来,那几个家伙一夜之间露出骗子的本来面目了,把OpenDivX的成果一股脑带走,变成了封闭源码的DivX4,而后进一步变成现在的收费的DivX5了。本来很好的OpenDivX被逼流产,不过也就促成了今天XviD的诞生、发展和壮大。现在的XVID更可以说超越了DivX 5,以更好的质量,更强的功能挑战着新一代的MPEG4应用战场。
身份证校验码生成算法
根据〖中华人民共和国国家标准 GB 11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。……顺序码的奇数分给男性,偶数分给女性。校验码是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。 先引入公式: ∑(a[i]W[i]) mod 11 ( i = 2, 3, …, 18 ) (1) ”” 表示乘号 i
陪LP买帽子去
按照习惯,北方出门肯定是要戴帽子的,不过这里不是很流行,所以居然找不到合适的帽子。 顺便把上次买的缺页的书给换了,书商态度还不错,挺爽快给换了。 破长宽,居然机房停电,弄的这一片的用户都不能上网。
窝在家里看《我和僵尸有个约会》
在长宽影院在线看的,速度还可以。最近没有怎么写Blog,也是晚上看这个连续剧耽误的。:) 房东把有线电视迁移了一下,把主线移动到他们下面去了,不过用了分配器,效果还算可以,有些台甚至比以前的还好,不过呢,我是不太喜欢看电视,因为广告太多了,没有在长宽看在线的电视剧好,没有广告还不用等待。前段时间就是在线把《天下无双》、《双响炮》看完的……天,不算不知道,最近居然看了这么多电视连续剧,浪费光阴啊~
软件开发商
到软件开发商处征求服务器配置意见,毕竟硬件是为软件服务的,他们网络部的同事讲了很多,我也学习了很多。最终有了初步的服务器配置方案,并基本定下了购买何种Oracle。 另外,今天是本月最后一个周五,工会活动。
整个世界是趋于无序的
整个世界是趋于无序的,管理,原来是这么大的一个问题。高速公路渐渐的修好了,但跑在上面的车居然还在设计,更谈不上制造…… 虱子多了不痒,是不是这个意思?工程是严重的延期了……
域服务问题
系统集成商始终不能将域服务配好,在中心机房网段一点问题没有,其他网段就有问题,后来经过测试,发现原来还是三层交换的问题,机器名解析不了~ 客户端调试低效中,任何一个改动都会导致全面返工。没有启用DHCP服务,就是这么烦。
服务器问题
到了两台双CPU的局域网服务器,明显不够将来的应用,什么DNS、Web、FTP、Mail、域服务、文件服务、数据库服务……特别是数据库服务器,太头疼了,理论上应该预留足够的处理能力,但是预留多了又怕将来用不了……计算机这东西淘汰那么快,多花的钱不就白白扔了?郁闷……
子网掩码的问题
单位调试网络,我看着A类的地址被分配了255.255.255.0的子网掩码,心存疑问,找系统集成商问,明白是三层交换那里的事情。后来,甚至划分了更小的子网,一个部门一个子网,使用了8、16、32、64四种容量的子网,以方便管理。
