字符编码发展史2 — ISO-8859-N

news2024/11/14 15:10:45
  • 2.2. 第二个阶段 本地化
    • 2.2.1. ANSI
    • 2.2.2. ISO/IEC 8859-N
      • 2.2.2.1. 什么是ISO/IEC 8859-N?
      • 2.2.2.2. ISO 8859-1的编码表

上一篇《字符编码发展史1 — ASCII和EASCII》我们讲解了字符编码的起源ASCII和EASCII。本篇我们将继续讲解字符编码的第二个发展阶段中的ISO 8859-N

2.2. 第二个阶段 本地化

2.2.1. ANSI

计算机发明之初及后面很长一段时间,只用于美国及西方一些发达国家,ASCII能够很好满足用户的需求。后来,随着个人计算机的发展和普及,美国这些生产计算机的企业(如IBM、惠普)希望把计算机卖到世界上更多的国家,其他的国家也希望能在自己的国家发展和应用计算机这个新技术,比如我们中国。

但是早期计算机使用ASCII编码只能满足英语国家和少数欧洲国家的需求,计算机要在全世界范围推广应用,就要解决各个国家语言编码的问题。各个国家、地区为了用计算机记录并显示自己的语言字符,都在ASCII编码方案的基础上,设计了各自的编码方案,于是就出现了很多适配不同地区语言的字符编码标准,如ISO 8859-NGB2312GBKBIG5等,这些编码方案被国际标准化组织收纳并将其标准化。

通过多套编码方式来适配不同地区语言的过程,也叫字符编码的本地化。所有这些各个国家和地区所独立制定的既兼容ASCII又互相之间不兼容的字符编码,微软统称为ANSI编码

ANSI其实有多个含义:

  • ANSI: 全称是American National Standards Institute,即 美国国家标准协会。它是一个非营利组织,负责协调和制定美国国家标准,并代表美国参与国际标准化活动。
  • ANSI: 微软的ANSI代码页。

计算机的普及是伴随着Windows操作系统的发展的,Windows操作系统以其强大的图形化界面和优秀的人机交互迅速占领了个人计算机90%多的市场份额,占据了统治性地位。微软的Windows作为全球性的操作系统,为了能适配各个国家和地区的语言,制定了一套代码页,用于映射各个国家和地区的语言的字符编码,微软称之为ANSI代码页(即ANSI Code Page,简称ACP)。

2.2.2. ISO/IEC 8859-N

EASCII虽然增加了欧洲常用字符,但是能表达的字符依然太少,甚至说远远不够,比如希腊语的字母表。

为了解决这个问题,ISO/IEC 8859-N 字符集和编码方案便应运而生。

2.2.2.1. 什么是ISO/IEC 8859-N?
  • ISO: 全称International Organization for Standardization,即 国际标准化组织。它是一个全球性的非政府组织,负责制定和发布国际标准,以促进全球贸易和技术交流。
  • IEC: 全称International Electrotechnical Commission,即 国际电工委员会。它是一个全球性的非政府组织,负责制定和发布与电气、电子和相关技术领域的国际标准。
  • ISO/IEC 8859: 是国际标准化组织(ISO)和国际电工委员会(IEC)制定的一组字符编码标准。ISO/IEC 8859也经常简称ISO 8859,如``ISO 8859-1`(后面的内容均以简称的方式描述)。

ISO 8859字符编码与EASCII字符编码的设计思路一样:同样是采用单个字节(8位)的编码方式,在ASCII码的基础上,利用了ASCII没有用到的最高位(首位),将编码范围从原先ASCII码的0x00~0x7F(十进制为0~127),增加0x80~0xFF,扩展到了0x00~0xFF(十进制为0~255)。

EASCII区别是:EASCII字符编码只包含了单个字符集(128个ASCII字符+128个扩展字符),而ISO 8859字符编码则包含一组字符集,每个字符集支持不同地区的语言。总共有15个子集,对应15种编码方式,从ISO 8859-1ISO 8859-16,其中ISO 8859-12未定义,所以实际上是15个,这15个子集的区别如下:

ISO 8859-n英文别名表达的语种中文解释
ISO 8859-1Latin-1Western Europe西欧语言
ISO 8859-2Latin-2Central Europe中欧语言
ISO 8859-3Latin-3Southern Europe南欧语言。世界语也可用此字符集显示。
ISO 8859-4Latin-4Baltic北欧语言
ISO 8859-5Cyrillic斯拉夫语言
ISO 8859-6Arabic阿拉伯语
ISO 8859-7Greek希腊语
ISO 8859-8Hebrew希伯来语
ISO 8859-9[Latin-5Turkish土耳其语,它把Latin-1的冰岛语字母换走,加入土耳其语字母
ISO 8859-10Latin-6Nordic北欧的日耳曼语支,用来代替Latin-4
ISO 8859-11Thai泰国语,从泰国的 TIS620 标准字集演化而来
ISO 8859-13Latin-7Estonian爱沙尼亚语,或 Baltic Rim 波罗的语族
ISO 8859-14Latin-8Celtic凯尔特语族
ISO 8859-15Latin-9Western西欧语言,加入Latin-1欠缺的芬兰语字母和大写法语重音字母,以及欧元(€)符号。
ISO 8859-16Latin-10Romanian罗马尼亚语,东南欧语言,主要供罗马尼亚语使用,并加入欧元符号。

file

需要注意的是:

  • 这15个字符集全部都兼容ASCII编码。
  • 每一个字符集的补充扩展部分,都只实际使用了0xA0~0xFF(十进制为160~255)这96个编码,而0x80~0x9F(十进制为128~159)这32个编码并未实际定义字符。

至此,ISO 8859-N系列编码,基本上能满足大部分(以拉丁字符为语系的)欧洲国家。

2.2.2.2. ISO 8859-1的编码表

我们可以看一下ISO-8859-1的编码表:

file ISO-8859-1 编码表


未完待续…… 欲知后事如何,且看下回分解。

下回预告:字符编码发展史3 — GB2312/Big5/GBK/GB18030。

历史文章推荐:

字符编码发展史1 — ASCII和EASCII


大家好,我是陌尘。

IT从业10年+, 北漂过也深漂过,目前暂定居于杭州,未来不知还会飘向何方。

搞了8年C++,也干过2年前端;用Python写过书,也玩过一点PHP,未来还会折腾更多东西,不死不休。

感谢大家的关注,期待与你一起成长。



【SunLogging】
扫码二维码,关注微信公众号,精彩内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2145314.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

西门子200SMART全面讲解

200 SMART 全面讲解工控人加入PLC工业自动化精英社群 工控人加入PLC工业自动化精英社群

如何打造出强悍的谷歌搜索关键词优化方案揭密

搭建一个成功的关键词优化规划是促进网站在谷歌搜索引擎中取得更强曝光和流量重要。本文将为你揭露七个秘笈,帮助自己打造出强悍的谷歌搜索关键词优化方案。1.目标制定在进行优化关键词以前,必须明确自己的目标。你希望用谷歌搜索引擎获得更多浏览量和访…

C++速通LeetCode简单第5题-回文链表

解法1,堆栈O(n)简单法: /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListN…

一款屏幕录制和视频剪辑软件Camtasia 2024

Camtasia 2024是一款屏幕录制和视频剪辑软件,软件提供了强大的屏幕录像、视频的剪辑和编辑、视频菜单制作、视频剧场、视频播放功能、视屏白板等功能,支持在任何颜色模式下轻松地记录屏幕动作,有需要的朋友快来下载吧! Camtasia 2…

1.pytest基础知识(默认的测试用例的规则以及基础应用)

一、pytest单元测试框架 1)什么是单元测试框架 单元测试是指再软件开发当中,针对软件的最小单位(函数,方法)进行正确性的检查测试。 2)单元测试框架 java:junit和testing python:un…

电脑怎么禁用软件?5个方法速成,小白必入!

电脑禁用软件的方法多种多样,以下是五种简单易行的方法. 适合不同需求的用户,特别是电脑小白。 1. 使用任务管理器禁用启动项 操作步骤:按下“Ctrl Shift Esc”组合键,打开任务管理器。 切换到“启动”选项卡,找到…

计算机毕业设计 家电销售展示平台的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

【活动预告】平陆县2024年“我有拿手戏”群众文艺大展演

庆祝中华人民共和国成立75周年 7天10场演出3场展览 文化给您精彩 “礼赞新中国逐梦新时代” 【活动预告】 平陆县“庆祝中华人民共和国成立75周年”文艺晚会暨“我有拿手戏”群众文艺大展演 7天10场演出3场展览给您精彩 01 平陆县2024年“庆祝中华人民共和国成立75周年”…

小阿轩yx-案例:Prometheus监控kubernetes环境构建

小阿轩yx-案例:Prometheus监控kubernetes环境构建 前言 传统架构中比较流行的监控工具有 Zabbix、Nagios 等,这些监控工具对于 Kubernetes 这类云平台的监控不是很友好,特别是当 Kubernetes 集群中有了成千上万的容器后更是如此 基于 kube…

662. 二叉树最大宽度 BFS 力扣

662. 二叉树最大宽度 已解答 中等 相关标签 相关企业 给你一棵二叉树的根节点 root ,返回树的 最大宽度 。 树的 最大宽度 是所有层中最大的 宽度 。 每一层的 宽度 被定义为该层最左和最右的非空节点(即,两个端点)之间的长…

【工具变量】数字乡村试点区县DID(2000-2023)

数据简介:数字乡村试点政策是中国政府为了推动乡村数字化转型、促进乡村振兴而实施的一项重要战略。根据2020年7月18日中国政府网发布的《关于开展国家数字乡村试点工作的通知》,试点工作的目标是到2021年底,试点地区数字乡村建设取得明显成效…

自动泊车系统中的YOLOv8 pose关键点车位线检测

自动泊车系统中的YOLOv8关键点车位线检测技术解析 引言 随着智能驾驶技术的快速发展,自动泊车功能成为了现代汽车的重要组成部分。它不仅能够提高驾驶的安全性,还能在一定程度上解决城市停车难的问题。在自动泊车系统中,准确识别停车位的位置…

微信 SDK、NCF 、CO2NET、Senparc.AI 近期重大更新,欢迎解锁

◾️更新基础库,包括缓存、APM、CO2NET 核心模块等全面升级; ◾️更新支付接口调用过程中的 SM(国密)和 RSA 判断方式; ◾️更新微信 SDK 接口 Senparc.Weixin SDK ✍️v2024.9.10 更新基础库,包括缓…

解决nginx代理SSE接口的响应没有流式返回

目录 现象原来的nginx配置解决 现象 前后端分离的项目,前端访问被nginx反向代理的后端SSE接口,预期是流式返回,但经常是很久不响应,一响应全部结果一下子都返回了。查看后端项目的日志,响应其实是流式产生的。推测是n…

Python 课程16-OpenCV

前言 OpenCV(Open Source Computer Vision Library)是一个广泛使用的开源计算机视觉库,旨在为实时图像处理提供高效的计算工具。它提供了数百种算法和函数,用于处理图像和视频。OpenCV 在工业、学术研究和个人项目中应用广泛&…

鸿蒙开发之ArkUI 界面篇 十二 背景属性

backgroundColor背景色(纯颜色,没法实现立体感之类高级效果)、 backgroundImage背景图(一般是设计师设计好的图)、 backgroundImageSize背景图尺寸(用于调整背景图的尺寸)、 backgroundImagePosition背景图位置(用于调整背景图的位置)。 背景图的添加是属性backgrou…

在家找不到手机?除了语音助手,还可以用远程控制!

总说手机有定位功能,但手机定位一般只能用于室外较大范围,例如在某个街角交叉位置、某个公园位置,某幢楼的某层位置。如果是在室内,例如自己家,手机定位就显得没那么好用了。 在家里怎么找突然“失踪”的手机&#xff…

Android RecycleView 深度解析与面试题梳理

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 引言 在 Android 开发中,列表和网格布局是非常常见的界面元素,它们用于展示大量数据集合。RecyclerView 是 Android 提…

Leetcode 470. 用 Rand7() 实现 Rand10()

Leetcode 470. 用 Rand7() 实现 Rand10() 已有方法 rand7 可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10 生成 1 到 10 范围内的均匀随机整数。 不要使用系统的 Math.random() 方法。 示例 1: 输入: 1 输出: [7] 示例 2: 输入: 2 输出: [8,4] 示例 3…

OTA升级

方式1: 方式2: 服务器与mcu通讯机制