两位巨佬的一顿晚饭,整个互联网被改变了

王珊数据库系统概论第5版视频教材 目录 隐藏 说明:本课程共包括1种电子书、84个高清视频(共68课时)、1种纸质书(赠品)。 网授课程 王珊《数据库系统概论》(第5版)网授精讲班【共68课时】 序号 名称 课时 1 第1章 绪 论(1) 00:32:25 2 第1章 绪 论(2) 00:17:03 3 第1章 绪 论(3) 00:50:19 4 第1章 绪 论(4) 00:20:37 5 第1章 绪 论(5) 00:24:47 6 第2章 关系数据库(1) 00:47:23 7 第2章 关系数据库(2) 00:14:48 8 第2章 关系 阅读详情

1

1992年9月, 一个周三的下午,贝尔实验室。 

Rob Pike (Go语言发明人之一) 正在操作系统Plan 9 上忙碌,这是继Unix之后的一个大工程, 马上就要完工了,  这个时候他突然接到了一个电话。 

(年轻帅气的Rob Pike)

电话是IBM的人打来的,他们正在奥斯汀参加X/Open 委员会会议, 想请Rob Pike 和 Ken Thomson (Unix发明人) 对他们设计的一个Unicode编码进行评审。

Rob Pike知道X/Open委员会主要负责制定Unix上的标准规范,以便提高应用程序的在不同Unix变体上的移植性。

很明显,这一次会议的主题是:编码!

Rob Pike想到了自己正在忙活的操作系统Plan 9 , 为了支持全世界的语言如英文、中文、韩文、日文、阿拉伯文...... Plan 9 当然要用Unicode 。 

(这货怎么和Go的吉祥物长得如此之像?)

大家都知道Unicode只是规定了每个字符用什么编码,但是没有规定如何去存储, 当时Plan 9 采用了一个叫做ISO 10646 UTF编码, 但是这个编码实在不怎么样, 按照Rob Pike的话说:我们恨这个编码。 

Rob 和 Ken 立刻意识到:机会来了 !

Rob :我们有丰富的经验, 为什么不设计一个真正好用的Unicode存储标准呢? 

Ken :同意, 我们设计出来,把标准推广的事情交给X/Open委员会。

俩人向IBM的人表达了这个想法, 得到了支持,条件是: 一定要快,快速设计、快速实现。 

因为下周一就要投票表决了!

对于天才程序员来说,快速、高质量把活儿搞定就是小菜一碟。

Ken :还记得《老婆离家三周,我开发了一个操作系统吗?》

他们俩慢悠悠地去餐厅吃饭,在吃饭期间,Ken 和 Rob就把基本的方案给设计出来了,这就是大名鼎鼎的UTF-8。

回到贝尔实验室,他们就把想法写成了提纲,发给了X/Open 委员会的人, 委员会的回复是: 

这比我们设计的版本好多了,你们什么时候能实现它? 

Rob 和Ken 拍着胸脯说:放心吧,下周一肯定能有一个完整的、可以运行的实现。

当天晚上(周三),他们俩就卷起袖子干活, Ken 把packing和unpacking的代码搞定, Rob则去折腾C和图形库相关的东西。 

周四,所有的代码都已完成,开始将Plan 9操作系统上的文本文件转成UTF-8 

周五,Plan 9 操作系统就已经运行在UTF-8上面了。 

实际花费不到三天!

这三天的工作成果最终统治了整个互联网的编码标准, 统计显示, 现在96.8%的Web网站在使用UTF-8。 

2

故事讲完了,我们来看看为什么UTF-8能流行起来。 

前面说过Unicode只是一个字符集,它规定了每个字符的二进制代码,例如“码” , 对应的Unicode 是7801 , 二进制是

111 1000 0000 0001

需要两个字节来保存, 如果表示其他更大范围的字符,可能需要3个字节或者4个字节,甚至更多。 

当计算机面对这两个字节的字节流的时候,就会出现严重的问题:计算机怎么知道这两个字节表示的是一个字符?还是两个字符?

大家知道英文字母用一个字节保存就够了,如果Unicode规定每个英文字符也用两个字节或三个字节来保存,那每个英文字母前面势必要补上0, 文本文件要大两到三倍。 

这是巨大的浪费,肯定不行。 

Rob和Ken的设计的UTF-8就比较聪明, 看看这个表:

把Unicode 转换成UTF-8,非常简单,比如汉字“码” , Unicode 是7801 , 二进制是 111 1000 0000 0001

7801对应上图的第三行,只要把二进制从右向左填到对应的“模板”中就行,不够的补零

更多的细节就不展开了,关键要看看UTF-8有什么好处。

3

1. 兼容ASCII, 表格中的第一行就是为ASCII所设。 

多字节编码的每个字节的最高位永远是 1,而 ASCII 字符编码的最高位是 0,所以从根本上杜绝了编码冲突。

2. 第一个字节就指明了后续的长度

当程序面对一个字节流的时候,只需要读出第一个字节最前面有几个1 ,就知道这个字符的长度,解码很方便。

3. 前缀码

大家仔细观察下, UTF-8中没有任何合法字符是其他字符的前缀, 这样就带来了一个好处:支持程序快速地跳过有问题的字节,然后正常解码。

假设有两个中文 “码” 和 “农”, 对应的UTF-8编码为E7A081(码) and E5869C(农)。 

但是网络传输丢失了一些数据,变成了 E781 E5869C   (即“码”的A0丢失了)

现在程序先读到了E7, 二进制是 1110 0111,它就知道这个字符应该是3字节的, 并且后面的两个字节都应该以10 开头。 

于是它就要再读两个字节, 因为A0这个字节丢失了, 程序读到了81 和 E5。 

程序就发现: 

81 (二进制10000001) 是符合规范的

E5(二进制11100101)的开始两个bit不是10啊, 这应该是另外一个字符的开始。

所以程序就判断出有字符丢失了,可以丢弃刚读到的E7 81 , 然后从E5开始读取, E5 86 9C ,最终显示“农”字。

是不是很巧妙?

22h2版本的win10安装Docker Desktop时页面空白 摘要:Windows10 22H2系统重装Docker时出现安装界面卡死问题,通过管理员CMD执行静默安装命令解决。命令指定了WSL-2后端及多个自定义数据存储路径(安装目录、Hyper-V数据、Windows容器数据、WSL数据),安装需等待几分钟。最终验证安装成功。 阅读详情

相关推荐

STM32 FMC驱动AD7606实战:从硬件连接到时序调试全流程解析

本文详细解析了STM32 FMC驱动AD7606的全流程,包括硬件连接、FMC接口配置、驱动程序设计和时序调试。通过实战案例,展示了如何利用STM32的FMC总线实现与AD7606的高效数据传输,特别强调了电源设计、信号连接和PCB布局等关键要点,为嵌入式数据采集系统开发提供了实用指导。

aa123的博客 1005

巨匠创新之旅:Rob Pike与Go语言的创造

结论: 作为一位计算机科学家和远见者,Rob Pike的旅程对编程语言的世界产生了深远的影响。他对简洁性的不懈追求以及其对系统编程的深入理解导致了Go的诞生-一种改变了整个行业的语言。Go语言的起源: 正是在Pike在贝尔实验室任职的晚期时期,即2000年代末,Go的构想诞生了。与Robert Griesemer和Ken Thompson携手合作,Pike开始了创造一种能够解决当代软件开发中开发者面临的挑战的语言的使命。他的影响塑造了Go的标准库,其中精心设计了用于网络,文件处理和并发的基本包。

guzhoumingyue的专栏 587

ZYNQ实战:如何用AXI-stream FIFO解决跨时钟域数据同步难题(附完整代码)

本文深入探讨了在ZYNQ项目中,如何利用AXI-Stream FIFO有效解决PS与PL之间的跨时钟域数据同步难题。文章详细分析了异步FIFO的架构设计、关键配置参数,并提供了PS端软件策略与PL端逻辑设计的完整代码示例,旨在帮助开发者构建稳定可靠的数据流通道,优化系统性能。

nginx7reverse的博客 754

两位巨佬吃了一顿晚饭,整个互联网彻底被改变了!

11992年9月, 一个周三的下午,贝尔实验室。Rob Pike (Go语言发明人之一) 正在操作系统Plan 9 上忙碌,这是继Unix之后的一个大工程, 马上就要完工了, 这个时候他突然接到了一个电话。(年轻帅气的Rob Pike)电话是IBM的人打来的,他们正在奥斯汀参加X/Open 委员会会议, 想请Rob Pike 和 Ken Thomson (Unix发明人) 对他们设计的一个U...

码农翻身 931

CKA-CN考试之路----2

部分知道就可以了,考试不用输入,后面不再复述.这里我们需要将两端内容凭借成1个yaml。执行题目中给的的命令进行测试。

Q先生 243

【C2000系列DSP的Bootloader详解】如何打包源文件为库文件且加密仅授权使用,一步步教你如何实现

如果想要在 TI 的 CCS 开发环境中为 C2000 系列 MCU 生成 lib 库文件,并对这些库文件进行加密保护,确保只有授权方(持有密钥)才能调用和使用,以此保护源代码的知识产权。

昔时扬尘处 177

从国企到互联网,一个初入职场将近一年半工作经验程序员的「得」与「失」

一时的失去只是为了更美好的将来。

Wonz 7861

【ArcGIS Pro微课1000例】0065:制作千层饼多图层叠加效果

右键dem图层,点击符号系统,在右侧的符号系统窗口中,选择拉伸,勾选【显示名称】和【显示全部】,选择高程色带7。由于数据具有高程源,因此可以将数据进行三维显示。右键地面→添加高程源图层。打开ArcGIS PRo,新建一个局部场景,命名为千层饼。设置了高程源数据之后,千层饼一下子就变成了三维形状。数据默认都是在一个平面上,以默认的符号系统显示。到此为止,每个图层均为平面的千层饼已经做好了。将TIN图层的高程偏移设置为-1000。最后将等高线的高程设为2000.移除工程默认加载的图层。默认即可,不需要做修改。

智慧空间实验室 1157

互联网寒冬——“大裁员”

京东——“裁员进行时” 京东裁员的风从上月底吹到了这月底,至今没有正式通知。但在半个月前,每个在职员工都能从上级领导和周围同事那打听到点什么,基本确定了“商城裁10%,金融板块裁20%。” “裁员规模与网上传的一样,但说优先裁未婚未孕女性的,我这里没见过,身边有个情况特别符合的女同事,就还在。”京东员工陆游向小娱透露,“裁员”在京东内部已经搞的人心惶惶,虽没有通知,但每个人都有自己的信息渠道,...

qq_42191775的博客 2431

芯片原厂linux驱动开发的分享

大家好,我是XX,来自湖南XX学院,电子信息18级,也曾在创新基地控制组学习过两三年,毕业后就职于一家芯片原厂的解决方案部,担任驱动工程师的职位,算上实习期,我的工作时长已有两年。在此我想将这两年期间学习与积累到的一些经验输出出来,与大家一同分享。知识面有限,只能简单介绍一些驱动开发方向的一些经验,且由于经验尚浅,文中难免会有一些疏漏和错误之处,还请大家积极地批评指正。

嵌入式技术开发 849

Python爬虫经典案例第67篇:社交媒体平台爬取:Twitter数据采集实战

Twitter(现更名为X)是全球最具影响力的社交媒体平台之一,拥有超过3.3亿月度活跃用户。作为一个实时信息传播平台,Twitter上的数据涵盖了新闻、政治、娱乐、科技等各个领域,具有极高的研究价值:本文将深入探讨Twitter数据采集的技术方案,包括官方API调用、网页爬取和浏览器自动化三种方式。Twitter采用现代化的微服务架构,主要特点包括:Twitter作为全球最大的社交媒体平台,拥有完善的反爬机制:在开始爬取前,需要明确合法的数据采集方式:重要提示:未经授权爬取Twitter数据可能违反服务条

2201_76125261的博客 659

一封写给所有一个人吃晚饭的人的信

《给一千万个孤独的人造一张饭桌》讲述了一个独立创作者打造"饭局"平台的故事。作者发现现代人虽然不缺社交软件,却越来越难找到一起吃饭的人。这个产品回归饭桌本质,通过具体邀请而非算法匹配,让陌生人重新围坐一桌。平台上线后,不仅创造了真实的人际连接,还意外促成了婚姻、创业等温暖故事。文章揭示了数字时代最珍贵的社交本质:不是高效匹配,而是让人有勇气说出"今晚一起吃饭"。

fanjuapp的博客 444

YOLOv改进 | YOLOv11更换主干Backbone之MobileNetV2(轻量化主干网络结构--高效轻量移动模型)

本文提出将YOLOv11的主干网络替换为轻量化的MobileNetV2,以提升模型在移动端设备的部署效率。MobileNetV2通过倒残差结构和线性瓶颈层,显著减少了计算量和参数量(降至1M~3M),同时保持多尺度特征提取能力。实验表明,改进后的模型在移动设备上可实现20-30 FPS的实时检测,适用于手机APP、无人机和工业监控等场景。核心代码展示了倒残差块的实现,通过深度可分离卷积和通道扩展/压缩实现高效特征提取。

走向CTO的路上... 1461

吃完7家互联网大厂食堂,我回去就把老板开了

本文转载自 超人测评 不会还有人不知道(中文)字节跳动(英文)Bytedance的工牌,已经成为年轻人的社交货币了吧。 有人说它是“相亲市场的硬通货”,也有人将它称为“2021年最潮流时尚单品”。每当你在奶茶店/麦当劳/KFC/优衣库,乃至夜店蹦迪时看见一根字节工牌挂绳从衣领里偷偷伸出一节,都会不由自主地想起互联网上的那些“字节跳动工牌文学”。 众所周知 ,大厂=优秀:它不仅体现在挤公交时兜里若隐若现的大厂工牌上,也体现在衣食住行等方方面面。 打工人更是干饭人,我们经常能在网上看到关于“...

m0_46163918的博客 4708

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

坐不住了,阿里P8的收入也太逆天了,真是知识改变命运,出生时间节点决定命运

主管赶上了好的出生年份,1980年左右,那时候真是个程序员的好年代,互联网爆发式发展的年代,中国的”第一代“程序员应运而生,感觉有点像《西游记》中的石猴子,得天地日月之精华,中国那时候经济高速发展,互联网公司也正是初创阶段,正是急需人才和公司高速扩张的时段。”,心情也不美丽了。我当时入职阿里时是P6,直接主管就是P8,大家也都知道,互联网公司内工资都是背靠背的(除了有薪资权限的主管外,大家之间互相不知道公子),而且,公司有明文规定,员工之间不能互相打听工资,所以理论上,大家互相是不知道薪酬的。

1451

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

逃离互联网,进入体制内,又觉得做的事没有成就感,重新焦虑起来

今日热帖,有网友发帖称:原本以为从互联网出来,逃离了加班,KPI,裁员,就可以不那么焦虑了,能下班后做些自己喜欢的事。如今进入体制内,却又因为做的事没有成就感,发挥不了自身价值,每天没有进步,而又重新焦虑起来。两条路都走过了,真不明白自己到底想要什么样的生活。

AlwaysBeta 的专栏 1030

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

当互联网大龄码农遭遇中年危机:是焦虑痛苦还是涅槃重生?

都说越醇的酒越香,但是在互联网人的眼里,这句话看着十分讽刺。  现实是,年轻就是资本,我们慢慢看着身边的同事年龄越来越小,由同龄人变成3岁、5岁、10岁、10几岁的差距,直到有一天,我们成为了小鲜肉眼中的怪蜀黍,肩膀上扛着父母孩子,一点点小变故就手忙脚乱,才猛然惊觉:中年危机就这样来了,渐长的年岁和互联网相撞,注定是一场浩劫。  年龄大了,码农何去何从?  这样的话题在网上屡见不鲜,每年都有一批人...

wzf7065的博客 1801

互联网小拼,这一生的故事,你要看看吗《打工人的那些事》

互联网小拼,这一生的故事,你要看看吗《打工人的那些事》 文章目录前言自述第一家公司面试第一年第二、三年第四年第五年最后一天结语 更多文章请看专栏:https://blog.youkuaiyun.com/qq_26525215/category_10788375.html 前言 谁也不知道,今天竟然是我的最后一天加班。 我叫小拼,我来自农村,一个国家级贫困县,原以为会在老家种田一辈子,谁曾想,考上了一所大学,学了计算机专业改变了我的一生。大学毕业以前都没什么好说的,九年义务教育,再加高中三年,大学四年。毕业后,离种田越来

谙忆-陈浩翔 9513

从数据来看2014年中国移动互联网

前些天阅读TalkingData发布的《2014移动互联网数据报告》,觉得还是不错的,将其极度简化一下,以便方便记住

蒙圣光博客 7155

晚饭后需要学习的一点知识1

http://zhidao.baidu.com/link?url=d2SuE5oXRSZbBRqJihHrhfxJ4r0iIpzCsOmvirjlJbLzhucgquvqmAgYvbsT960v8lSYWMG-Z82JQoEpr15m_a 转载于:https://www.cnblogs.com/meihao1989/p/3976998.html

diaoyo2388的博客 145

互联网小拼,这一生的故事,你要看看吗

前言谁也不知道,今天竟然是我的最后一天加班。我叫小拼,我来自农村,一个国家级贫困县,原以为会在老家种田一辈子,谁曾想,考上了一所大学,学了计算机专业改变了我的一生。大学毕业以前都没什么好说...

程序编程之旅 371

互联网公司作息时间一览表

大家好,我是苍何。之前我们看了很多的大厂开奖情况,很多给的确实挺足的,几十万的年包看着让人眼红,但实际上在大厂也是用自己的时间来换钱罢了。很多互联网公司的上班时间自由,下班时间更自由,宣称不打卡,但实际并不是大家都能早早下班。很多大厂十点多上班,但下班时间也会拉长,总工作时长基本都大于 8 小时,看似灵活的作息时间,实际却变得没那么灵活了。即使有些公司规定固定上下班时间,那对于不同的部门,甚至是不同的小组,下班时间也不同。你会发现一个很有意思的现象,有些公司里面,卷的卷的要死,闲的闲得要死,两级分化挺严重的

一个成长中的程序员,期待用技术的眼光生活 2997

互联网人一天24小时在做些啥《打工人的那些事》

互联网人一天24小时在做些啥《打工人的那些事》 文章目录工作日假期我的补充 根据朋友的经验、同事的经验,总结而成。 工作日 上午 7.30 起床 8.00 洗漱完毕 8.15 到达公交车站(眼睁睁看着83路公交车逐渐离我而去) 8.30 等到了公交车 9.10 到达公司楼下公交车站 9.20 买完早餐并到达公司20层打卡上班 9.30 吃完早餐开工 9.40 回过神完毕,开始码代码 10.00 被产品打断一次 10.20 回过神继续写代码 10.50

谙忆-陈浩翔 1905

第一财经周刊:互联网公司正在瓦解传统广告业

<br />  <br />第一财经周刊封面文章《侵入者》<br />互联网带来的变革在过去两年内已经让美国广告业16万人无所事事,曾经代表创意本身的广告公司们现在不得不接受两选一的局面─成为技术恐龙,或者改变自己的DNA。广告公司谋杀者─这是Facebook的新称呼。<br />两个多月前,Johan Vakidis在上海开了一家叫CHICHA的小酒吧,他翻墙跑到Facebook上发帖邀请老外朋友们来参加开张派对,“在中国他们都懂的嘛。”除了当晚热闹的派对,让Johan开心的是,Facebook上逐渐增

wkyb608的专栏 3223

好的创始人想要改变世界,最好的创始人还要不放弃——扎克伯格清华中文演讲

一开口就是相对流利的中文打招呼老三样:你好,我很开心,我爱北京……以为这就完了,结果看到全程中文我就醉了…… Facebook 创始人扎克伯格今年加入清华大学经管院的顾问委员会,其他两位新加入的成员分别是百威英博 CEO Carlos Brito和 IBM 的 CEO Ginni Rometty。 聊到为什么学习中文,他说了三个原因:1. 太太是中国人,她家里只说中文;2. 我想要

MUM的专栏 858

网站已死 互联网永生

从诞生到现在,网站已经走过了20个年头。相比当年的流行,如今它已经开始衰落,逐渐让位于更简单且时髦的智能应用。这些应用更关注的不是搜索效果,而是信息获取。我们当然喜欢开放的、自由的网站,但我们正在逐渐抛弃它,寻找更加简单、时髦的、用起来舒服的服务。

软件工程专栏 1万+
上一篇: 对不起,你的密码被破解了!
下一篇: 这位技术总监,我喜欢!
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值