[oeasy]python0085_ASCII之父_Bemer_COBOL_数据交换网络
编码进化
回忆上次内容
- 上次 回顾了 字符编码的 进化过程
- IBM 在数字化过程中
- 作用 非常大
- IBM 的 BCDIC 有 黑历史
- IBM 在数字化过程中
- 6-bit的 BCDIC
- 直接进化成 8-bit的 EBCDIC
- 补全了 小写字母 和 控制字符
- 在ibm就是信息产业的年代
- ibm的标准 怎么最终
没有成为 行业的标准 呢?
- ibm的标准 怎么最终
ibm
- ibm当时 确实 如日中天

- 主机、终端
都是 自己的- 软硬件一体
- ibm就是 整个数字世界
- EBCDIC编码 本身就是
- ibm内部 编码
- 内部 通信协议
- ibm内部 编码
- 外面 根本不知道
- 就算 知道了
- 也只有去 被动兼容的份儿
- 网络时代来了
- 计算机通信 大发展
- ibm也想让 更多主机 加入arpa网
通信
- 通信 当中
- 共识 非常重要
- 如果 几台主机编码方式 彼此不通
- 是 无法通信的

- 最先被搞疯的 是
- ibm内部的人
- Bemer
- ibm内部的人
- Bemer发现
- 统一的 字符编码
- 在组网时
太重要了!!!
- 在组网时
- 统一的 字符编码
无奈
- 不同的编码 实在折磨他 够呛
- 也没有 合适的 转码程序
更重要的是 没有编码的声明- 不知道对方 用的是
什么编码
- 不知道对方 用的是
- 就好像
- 你能听到声音
- 但不知道 去用哪国语言 来翻译

- 大型机市场 不止 IBM一家
- Honeywell
- univac
- 事实上 9种编码方式
- 构成了 计算机的
巴别塔 - 各个公司 各自为政
- 构成了 计算机的
- IBM高层 不懂技术
- 他们 不知道EBCDIC的缺陷
- 毕竟IBM公司 是由销售来驱动的
COBOL - 纸带
- IBM 在统计业务的 基础上
- 对大型的商业机构 提供 可执行程序
- 1959年
- IBM 定制了 编程语言
COBOL- Common Business-Oriented Language
- 面向商业的 通用语言
- Bemer 参与了COBOL的制定
- IBM 定制了 编程语言

- 程序 被写在ibm的卡片上
- 是 一种自记录式的 语言
COBOL - 电传打字机
- 输入输出设备 变成了 电传打字机
- 存储设备 变成了 磁带

- 可COBOL语言 到底 长
什么样子 呢?
COBOL - 终端时代
- 有了终端 作为 输入输出设备
- 终于可以 不看打孔卡片
直观地看到 COBOL语言的样子了

- 但是 任何语言
- 篇章段句再复杂
- 最终 还是要 落实到
- 一个个字母上
- 落实到字母
- 就有 如何对字母编码的问题
EBCDIC的问题
- 由于 EBCDIC 是 从BCDIC 过来的

- 由于
- 字母本身 并不连续
- 判断 一个字符 是不是 字母
- 要判断
6个区间 - 总共
12次判断 - 非常麻烦!
- 增加了
- 很多 没有必要的逻辑
- 要判断
- 这些逻辑
- 费时费力还费电
- IBM经理层想的是
- 更高业绩 和 更高提成
- 铁了心想 要将EBCDIC进行到底
- 铤而走险了 属于
- 有了隐患 不及时修复
- 会
一错再错的
- 会
- 有了隐患 不及时修复
Proposal
- Bemer 在 IBM内部无法获得 经理层支持
- 但是 又得干 很多具体的事务
- 大型商业机构(特别是银行)
- 不光 要记录自己的数据
- 彼此的
交易记录也需要被记录 - 商务过程 需要
程序化- 无人化

- Bemer 开始在专业杂志上发请求
- 寻求支持
- 期待行业中 能有一个 更好的解决方法
- 寻求支持
组织 成立
- ANSI(American National Standards Institute)的前身
- American Standards Association’s (ASA)
- 成立了 X3.2 子委员会
- 委员 来自 于
- 各大商业巨头 一线工程师
- 了解 技术
- 代表 各方利益

- 在 X3.2第一次大会 期间
- 成立了 X3.2.4 工作组
- 专门想 怎么去解决 编码统一的问题
- 这就不光是 IBM
一家的 事情 了- 综合协调 各巨头的利益
发布了标准
- 1963年 X3.2.4 工作组
- 发布了 ASA X3.4-1963 标准

- 这标准具体长
什么样呢?
总结
这次 回顾了
- 字符编码的新陈代谢
ibm 曾经的EBCDIC
- 由于 字符不连续
- 导致 后续 出现无数问题
随着 网络的发展
- 数据交换的 需要
- 原来的小隐患
- 现在 产生了 巨大问题
Bemer 联合各方巨头
- 想要推出
- 字符连续的编码集
- 想要推出
这新编码集 具体长
什么样 呢?我们 下次再说!
蓝桥->https://www.lanqiao.cn/courses/3584
github->https://github.com/overmind1980/oeasy-python-tutorial
gitee->https://gitee.com/overmind1980/oeasypython
视频->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy
[oeasy]python0085_ASCII之父_Bemer_COBOL_数据交换网络的更多相关文章
- JsRender实用教程(tag else使用、循环嵌套访问父级数据)
前言 JsRender是一款基于jQuery的JavaScript模版引擎,它具有如下特点: · 简单直观 · 功能强大 · 可扩展的 · 快如闪电 这些特性看起来很厉害,但几乎每个模版引擎, ...
- vue - 父组件数据变化控制子组件类名切换
先说当时的思路和实现核心是父子组件传值和v-bind指令动态绑定class实现 1. 父组件引用.注册.调用子组件script中引用 import child from '../components/ ...
- vue中通过.sync修饰符实现子组件修改父组件数据
vue父子通讯是单向数据流,也就是子组件不能修改父组件的值,但是在一些情况下是需要这样做的. 先看官方文档: 接下来举例实现 1.实现一个双向数据绑定,子组件改变的时候,父组件也在改变 父组件 < ...
- 微信小程使用getCurrentPages函数操作父级数据
微信小程使用getCurrentPages函数操作父级数据 let pages = getCurrentPages(); let prevPage = pages[pages.length - 2]; ...
- vue 父组件数据修改,子组件数据未修改
页面: 父组件 <myfeedback></myfeedback> 子组件 <news></news> myfeedback.vue <te ...
- Vue中子组件数据跟着父组件改变和父组件数据跟着子组件改变的方法
一,子组件数据跟着父组件改变 父组件的代码 <template> <div class="home"> <img alt="Vue logo ...
- 子组件获取父组件数据 propsDown, 父组件获取子组件数据 eventUp
(一) popsDowm 三种方法获取父组件数据:被动获得(1):主动获取(2). 1.被动获得: 父组件:v-bind: 绑定变量参数和方法参数:子组件:props 接收参数.可以在模板中直接使用也 ...
- 用angular怎么缓存父页面数据
angular做单页面应用是一个比较好的框架,但是它有一定的入门难度,对于新手来说可能会碰到很多坑,也有许多难题,大部分仔细看文档,找社区是能解决的. 但有些问题也许资料比较少,最近遇到过一个要缓存父 ...
- js子页面获取父页面数据
做页面预览的时候,数据没有存入数据库,但是要打开一个页面进行预览,询问众大婶,原来是这样来做. 1.父页面 <input type="text" id="name& ...
- Vue2.x中的父组件数据传递至子组件
父组件结构 template <template> <div> <v-girl-group :girls="aGirls"></v-gir ...
随机推荐
- 记一次asp.net 8 服务器爆满的解决过程
1.描述一下服务器配置: 一台2c4g的centos,做api接口反代 一台8c16g的windows 2019 作为实际服务器,跑了iis,sql server,mongodb,redis 2.业务 ...
- uniapp android端和ios端铃声静音,但是还是会震动
uniapp 使用了html5plus的api,可以实现调用原生的api功能,htm5plus官方api文档: https://www.html5plus.org/doc/zh_cn/ios.html ...
- Android 13 - Media框架(20)- ACodec(二)
关注公众号免费阅读全文,进入音视频开发技术分享群! 这一节开始我们就来学习 ACodec 的实现 1.创建 ACodec ACodec 是在 MediaCodec 中创建的,这里先贴出创建部分的代码: ...
- 开源一站式敏捷测试管理,极简项目管理平台 itest(爱测试) 6.6.2 发布,便捷迫切功能增强
(一)itest 简介及更新说明 itest 开源敏捷测试管理,testOps 践行者,极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试5合1,又有丰富的统计分析.可按测试包分配测试用例执行 ...
- Qt-ui的简单使用,常用控件(2)
1 简介 本文主要介绍Qt ui界面的简单使用,介绍一些常用的控件. 参考视频:https://www.bilibili.com/video/BV1XW411x7NU?p=22 2 常用控件 常用 ...
- vue3 Suspense
在Vue.js 3中,Suspense 是一个用于处理异步组件的特殊组件,它允许你在等待异步组件加载时展示备用内容.这对于优化用户体验.处理懒加载组件或异步数据获取时非常有用.Suspense 的主要 ...
- AGC043
AGC043 A.Range Flip Find Route 简单DP B.123 Triangle 推性质. 利用模运算将减法变成加法(在绝对值0/1的情况下). Giant Graph 类似于博弈 ...
- kettle从入门到精通 第六十三课 ETL之kettle kettle调用python脚本的两种方法
kettle中不能直接调用python脚本,可以通过shell脚本和http进行调用pyton服务. 一.shell脚本调用python脚本 1.下面是一段简单的无参python脚本 import o ...
- kettle从入门到精通 第二十八课 初识kettle-job
1.前面我们一起学习了,很多转换的知识,转换为批量的开发做铺垫,今天我们一起来学习下kettle job的知识. kettle job 常用的步骤如下图,有Start.转换.作业.成功等步骤. 2.下 ...
- 大量索引场景下 Easysearch 和 Elasticsearch 的吞吐量差异
最近有客户在使用 Elasticsearch 搜索服务时发现集群有掉节点,并且有 master 收集节点信息超时的日志,节点的负载也很高,不只是 data 节点,master 和协调节点的 cpu 使 ...