[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 ...
随机推荐
- 从 p12 格式 SSL 证书解出 pem 格式公钥私钥给 Postman 使用
目的 Postman 的(非 Chrome 扩展版的)app 并不能读取系统中的客户端证书,这种调试要发送客户端证书的 https 请求的时候就得自己另外设置.系统直接导出证书有 cer 和 p12 ...
- nginx源码安装步骤
1.安装依赖包 yum install -y gcc yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install ...
- no implicit conversion of nil into String
一.Cocoapod 执行pod install命令时报错 [!] An error occurred while processing the post-install hook of the Po ...
- FreeRTOS例程开发
环境配置 下载官方源码 https://www.freertos.org/ 找到这个,他就是visual studio示例demo,我们主要在这个的基础上修改 下载visio studio https ...
- Java中类的构造 与 方法的重载
类的构造方法 定义:构造方法与类名相同,且没有返回值,且不需要void修饰 Car bmcar = new Car(); 特点:类中没有定义时,会默认有一个无参的构造方法,在无参的构造方法中为成员变量 ...
- 修改 WIN10 WIN11 操作系统启动菜单名称
修改 WIN10 WIN11 操作系统启动菜单名称 一块硬盘装双系统后,自动更新的启动菜单名称可能无法区分WIN10.WIN11,需要通过"卷2"."卷3"字样 ...
- 安装sql 2012 时遇到“需要更新的以前的 Visual Studio 2010 实例。”规则失败。
"需要更新的以前的 Visual Studio 2010 实例."规则失败.此计算机安装了需要 Service Pack 1 更新的 Visual Studio 2010,必须安装 ...
- Spring Data JPA 学习笔记1 - JPA与Spring Data
标记[跳过]的未来完善 1 理解JPA 1.1 什么是持久化? 当一个软件关闭的时候,软件内储存的状态数据还能在下次开启时被恢复,这就是持久化.对象持久化是指每个独立的对象的生命周期都能不依赖应用程序 ...
- 项目管理--PMBOK 读书笔记(11)【项目风险管理】
1.风险分解结构(RBS): RBS 有两个含义,一个是资源分解结构(Resource),一个是风险分解结构(Risk). 1)技术风险 2)管理风险 3)商业风险 4)外部风险 2.核对单 核对 ...
- CPU的一、二、三级缓存的区别
引言 概念 缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频 运作,工作效率远远大于系统内存和硬盘.实际工作时,CPU往往 ...