zoukankan      html  css  js  c++  java
  • 计算机基础 ------ 编码(1)

    1、字节、字符、字符串

    字节:计算机中的存储数据的单元,一个8 位的二进制数,一个很具体的数据空间

      比如:‘0xCC’,‘0x45’,‘0xBA’在计算机中一般使用十六进制进行保存一些字符,颜色的保存等

    字符:人们使用的记号,抽象意义上的一个符号,

      比如:‘$’,‘#’,‘中’,‘2’等....

    ANSI 字符串:在内存中,如果字符使用ANSI 编码形式存在,一个字符可能使用一个字节或多个字节来表示,

         那么我们称这种字符串为ANSI 字符串或者多字节字符串

      比如: 一个中文占有两个字节:  “我是obge” 占有8个字节

    UNICODE字符串: 在内存中,如果“字符”是以在UNICODE 中的序号存在的,

         那么称这种字符串为Unicode 字符串或者宽字节字符串

      比如:一个中文占三个字节:"我是obge"占有10个字节

    2、ASCII 、ANSI、Unicode

    ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语,而其扩展版本EASCII则可以部分支持其他西欧语言,并等同于国际标准ISO/IEC 646。
    ASCII 是这套编码系统的传统命名,IANA 现在更倾向于使用它的新名字 US-ASCII,是 IEEE里程碑 之一。

    ANSI   美国国家标准学会(American National Standards Institute,ANSI)是负责制定美国国家标准的非营利组织。美国国家标准学会授权标准起草机构按照一系列规范编写标准草案。由此产生的候选文献通过ANSI审核批准后成为美国国家标准。美国国家标准学会是国际标准化组织和国际电工委员会的成员。

    比如:中文DOS,中文windows 95/98 ,日文 Windows 95/98

       不同国家和地区制定了不同的标准,由此产生了GB2312,BIG5,JIS等各自的编码标准。这些使用2个自己来代表一个字符的各种汉字延伸编码方式,称为ANSI 编码,

    Unicode(中文:万国码、国际码、统一码、单一码)是计算机科学领域里的一项业界标准。它对世界上大部分的文字系统进行了整理、编码,使得电脑可以用更为简单的方式来呈现和处理文字。

    Unicode 伴随着通用字符集的标准而发展,同时也以书本的形式对外发表。Unicode 至今仍在不断增修,每个新版本都加入更多新的字符。
    Unicode涵盖的数据除了视觉上的字形、编码方法、标准的字符编码外,还包含了字符特性,如大小写字母。
    Unicode发展由非营利机构统一码联盟负责,该机构致力于让 Unicode 方案取代既有的字符编码方案。因为既有的方案往往空间非常有限,亦不适用于多语环境。
    Unicode备受认可,并广泛地应用于电脑软件的国际化与本地化过程。有很多新科技,如可扩展置标语言(Extensible Markup Language,简称:XML)、Java编程语言以及现代的操作系统,都采用Unicode编码。

    3、系统的发展

    从计算机对多国语言的支持角度看,大致可以分为三个阶段

    第一阶段:ASCII   

       计算机刚开始支持英语,其他语言不能够在计算机上存储和显示  

      比如:英文DOS

    第二阶段:ANSI编码(本地化) 

       为了计算支持更多语言,通常使用0x80~0xFF 范围的 2 个字节来表示 1 个字符,不同的国家和地区制定了不同的标准,不同的编码之间又互不兼容。

      比如:中文 DOS,中文 Windows 95/98,日文 Windows 95/98

    第三阶段:Unicode(国际化)

       为了使国际间信息交流更加方便,国际组织制定了 UNICODE 字符集,为各种语言中的每一个字符设定了统一并且唯一的数字编号,以满足跨语言、跨平台进行文本转换、处理的要求。

       比如:Windows NT/2000/XP,Linux,Java

  • 相关阅读:
    init_machine 在Kernel中被调用的过程
    maven-surefire-plugin的forkMode分析
    执行Maven install或Maven test命令时控制台输出乱码的解决办法
    Maven 中的dependencies与dependencyManagement的区别
    使用maven profile实现多环境可移植构建
    Maven最佳实践:划分模块
    MySQL的登陆错误:ERROR 1049 (42000): Unknown database 'root'
    Java 连接操作 Redis 出现错误
    关闭多个screen
    linux sed 批量替换字符串
  • 原文地址:https://www.cnblogs.com/obge/p/11760317.html
Copyright © 2011-2022 走看看