[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 ...
随机推荐
- Python实现五子棋人机对战的二次开发
Python实现人机对战的二次开发 在网上找到了一个使用python实现五子棋游戏,其中通过加入一个简单的AI算法实现了人机对战的功能,我觉得这个人机对战还是蛮有意思的,下面我分析一下五子棋游 ...
- PaddleOCR在 Linux下的webAPI部署方案
很多小伙伴在使用OCR时都希望能过采用API的方式调用,这样就可以跨端跨平台了.本文将介绍一种基于python的PaddleOCR识方案.喜欢的可以关注公众号,获取更多内容. 一. Linux环境下部 ...
- 记一例UIView突然不显示的排查过程
一.现象 今日在开发中遇到一个诡异问题,一个自定义的AlertView在显示之后瞬间在屏幕上消失,但是其对象在内存中依然存在 二.排查 通过lldb命令查询到view.superview.superv ...
- Linu部署服务启停脚本
Linux项目部署启停 WEB应用(WAR包)部署 实际开发中,难免遇见新业务项目构建.项目重构(重新优化整个项目的架构,相当于重写),也可能是项目拆分多个模块,也可能部分拆分,但项目的模块化分离,就 ...
- .NET6 .NET CORE 使用Apollo
Apollo默认有一个"SampleApp"应用,"DEV"环境 和 "timeout" KEY. nuget 中下载 "Com. ...
- ubuntu server 安装慢 安装卡
无论是桌面版本ubuntu,还是server 版本,都喜欢在安装过程中联网下东西: 默认的软件包镜像地址下载非常慢,你自身的网络再差点,可能会安装好几个小时. 解决方案: 方案1: 安装前拔网线. 方 ...
- 增补博客 第一篇 python 简易带参计算器
设计一个简易的参数计算器.[输入格式]第一行输入待计算的带变量参数的计算式第二行输入各变量参数的赋值序列[输出格式]输出带变量参数的计算式的计算结果[输入样例]a+ba=1,b=10[输出样例]11 ...
- flutter 调用环信sdk 实现即时通讯
首先下载依赖 导包 import 'package:im_flutter_sdk/im_flutter_sdk.dart';登录 import 'package:flutter/material.da ...
- 漏洞复现之CVE-2012-1823(PHP-CGI远程代码执行)
关于CGI知识点 `CGI模式下的参数: -c 指定php.ini文件的位置 -n 不要加载php.ini文件 -d 指定配置项 -b 启动fastcgi进程 -s 显示文件源码 -T 执行指定次该文 ...
- Winform程序获取不到windows系统下本机的配置信息(解决)
无法获取到本地的mac地址的原因: 本地网络问题 相关服务被禁用 wmi配置错误或者失败. 本文着力于第三种问题的解决:可以参考 无法获取本地mac,如果是wmi服务没有打开的问题.可以使用运行wmi ...