- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
字符编码
字符编码
我在第⼀版的 《零基础学python》中,这个标题前⾯加了“坑爹”两个字。在后来的实
践中, 多朋友都在⽹上问我关于编码的事情。说明这的确是⼀个“坑” 。
⾸先说明,在python2 中,编码问题的确有点⿇烦。但是,python3就不⽤纠结于此
了。但是,正如前⾯所说的原因,⾄少本教程还是⽤python2 ,所以,必须要搞清楚编
码。当然了,搞清楚,也不是坏事。
字符编码,在编程中,是⼀个让学习者⽐较郁闷的东西,⽐如⼀个str ,如果都是英
⽂,好说多了。但恰恰不是如此,中⽂是我们不得不⽤的。所以,哪怕是初学者,都
要了解并能够解决字符编码问题。
name = ⽼⻬
name
\xe8\x80\x81\xe9\xbd\x90
在你的编程中,你遇到过上⾯的情形吗?认识最下⾯⼀⾏打印出来的东西吗?看⼈家
英⽂,就好多了
name = qiwsir
name
qiwsir
难道这是中⽂的错吗?看来投胎真的是⼀个技术活。是的,投胎是技术活,但上⾯的
问题不是中⽂的错。
编码
什么是编码?这是⼀个⽐较⽞乎的问题。也不好下⼀个普通定义。我看到有的教材中
有定义,不敢说他的定义不对,⾄少可以说不容易理解。
古代打仗,击⿎进攻、鸣⾦收兵,这就是编码。把要传达给⼠兵的命令对应为⼀定的
其它形式,⽐如命令“进攻” ,经过如此的信息传递:
1. 长官下达进攻命令,传令员将这个命令编码为⿎声 (如果复杂点,是不是有⼏
声⿎响,如何进攻呢?)。
2. ⿎声在空⽓中传播,⽐传令员的嗓⼦吼出来的声⾳传播的更远,⼠兵听到后也
不会引起歧义,⼀般不会有⼠兵把⿎声当做打呼噜的声⾳。这就是“进攻”命令
被编码成⿎声之后的优势所在。
3. ⼠兵听到⿎声,就是接收到信息之后,如果接受过训练或者有⼈告诉过他们,
他们就知道这是让我进攻。这个过程就是解码。所以,编码⽅案要有两套。⼀
套在信息发出者那⾥,另外⼀套在信息接受者这⾥。经过解码之后,⼠兵明⽩
了,才⾏动。
以上过程⽐较简单。其实,真实的编码和解码过程,要复杂了。不过,原理都差不多
的。
举⼀个似乎遥远,其实不久前⼈们都在使⽤的东西做例⼦:电报
电报是通信业务的⼀种,在19世纪初发明,是最早使⽤电进⾏通信的⽅
法。电报⼤为加快了消息的流通,是⼯业社会的其中⼀项重要发明。早
期的电报只能在陆地上通讯,后来使⽤了海底电缆,开展了越洋服务。
到了20世纪初,开始使⽤⽆线电拨发电报,电报业务基本上已能抵达地
球上⼤部份地区。电报主要是⽤作传递⽂字讯息,使⽤电报技术⽤作传
送图⽚称为传真。
中国⾸条出现电报线路是187 1年,由英国、俄国及丹麦敷设,从⾹港经
上海⾄⽇本长崎的海底电缆。由于清政府的反对,电缆被禁⽌在上海登
陆。后来丹麦公司不理清政府的禁令,将线路引⾄上海公共租界,并在6
⽉3 ⽇起开始收发电报。⾄于⾸条⾃主敷设的线路,是由福建巡抚丁⽇昌
在台湾所建,1877年10⽉完⼯,连接台南及⾼雄。1879年,北洋⼤⾂李
鸿章在天津、⼤沽及北塘之间架设电报线路,⽤作军事通讯。1880年,
李鸿章奏准开办电报总局,由盛宣怀任总办。并在1881年12⽉开通天津
⾄上海的电报服务。李鸿章説:“五年来,我国创设沿江沿海各省电线,
总计⼀万多⾥,国家所费⽆多,巨款来⾃民间。当时正值法⼈挑衅,将
帅报告军情,朝廷传达指⽰,均相机⽽动,⽆丝毫阻碍。中国⾃古⽤
兵,从未如此神速。出使⼤⾂往来问答,朝发⼣⾄,相隔万⾥好似同居
庭院。举设电报⼀举三得,既防⽌外敌侵略,又加强国防,亦有利于商
务。”天津官电局于庚⼦遭乱全毁。1887年,台湾巡抚刘铭传敷设了福州
⾄台湾的海底电缆,是中国⾸条海底电缆。1884年,北京电报开始建
设,采⽤安设双线,由通州展⾄京城,以⼀端引⼊署中,专递官信,以
⼀端择地安置⽤便商民 ,同年8⽉5 ⽇,电报线路开始建设,所有电线杆
⼀律漆成红⾊。8⽉22 ⽇,位于北京崇⽂门外⼤街西的喜鹊胡同的外城商
⽤电报局开业。同年8⽉30 ⽇,位于崇⽂门内泡⼦和以西的吕公堂开局,
专门收发官⽅电报。
为了传达汉字,电报
文档评论(0)