常用编码方式说明

2023-05-16

各种语言需要交流,经过翻译是必要的,那又如何来翻译呢?在计算机中提供了多种翻译方式,常见的有 ASCII、ISO-88591、GB23112、GBK、UTF-8、UTF-8、UTF-16等。它们都可以被看作字典,它们规定了转换的规则,按照这个规则就可以让计算机正确地表示我们的字符。

在选择编码格式来存储汉字时,一般要考虑是存储空间还是编码的效率重要。

  1. ASCII 码 
    ASCII 码总共有128个,用1个字节的低七位表示,最高位固定为 0,共占用一个字节。0~31 是控制字符如换行、回车、删除等,32~126 是打印字符,可以通过键盘输入并且能够显示出来。具体如下:
    • 0~31 及 127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:TAB(制表符)、CR(回车)、DEL(删除)、BS(退格)等,常用的ASCII值为 8、9、10 和13 分别转换为退格、制表、换行和回车字符。

    • 48~57 为 0 到 9 十个阿拉伯数字。

    • 65~90 为 26 个大写英文字母,97~122 号为 26 个小写英文字母,其余为一些标点符号、运算符号等。

    • 32~47,58~64,123~126 代表常用标点符号(:‘等);

    我们会发现这些中很多都可以在键盘上可以找得到。

  2. .ISO-8859-1 
    128个字符显然是不够用的,于是ISO组织在ASCII 码基础上又制定了一系列标准来拓展 ASCII 编码,它们是ISO-8859-1 至 ISO-8859-15,其中 ISO-8859-1 涵盖了大多数西欧语言字符,所以应用的最广泛。ISO-8859-1 仍然是单字节编码,它总共能表示 256 个字符。
  3. GB2312 
    GB2312 的全称是 《信息技术 中文编码字符集》,它是双字节编码,总的编码范围是 A1~F7,其中A1 ~ A9 是符号区,总共包含682个字符; B0~F7 是汉字区,包含6763个汉字。
  4. GBK 
    全称是《汉字内码扩展规范》,它的出现是为了拓展 GB2312 ,并加入更多的汉字。它的编码是和GB2312 兼容的,也就是说用GB2312 编码的汉字可以用GBK 来解码,并且不会有乱码。GBK编码依然采用双字节编码方案,其编码范围:8140-FEFE,剔除xx7F码位,共23940个码位。
  5. UTF-16 
    说到UTF 必须提到 Unicode ,ISO 试图创建一个全新的超语言字典,世界上所有的语言都可以通过这个字典来相互翻译。UTF-16 具体定义了Unicode 在计算中的存取方法。UTF-16 用两个字节来表示 Unicode 的转化格式,采用定长的表示方法,即不论什么字符都可以用两个字节表示。
  6. UTF-8 
    UTF-16 存在存储空间浪费。UTF-8 采用了一种变长技术,每个编码区域有不同的字码长度。不同类型的字符可以由1~6 个字节组成。它对英文采用8位编码,中文使用24位编码,包含全世界所有国家需要用到的字符,它是国际编码,通用型很强。如果是一个字节,最高位为0,则表示这是 1 个 ASCII 字符,可见,所有ASCII 编码已经是UTF-8了。

    UTF-8采用变长的编码方式,使用 1~6 个字节来表示一个符号:

    • 对于单字节的符号,字节的第一位设为 0,后面 7 位为这个符号的 unicode 码。因此对于英语字母,UTF-8 编码和 ASCII 码是相同的。
    • 对于 n 字节的符号(n>1),第一个字节的前 n 位都设为 1,第 n+1 位设为0,后面字节的前两位一律设为 10。剩下的没有提及的二进制位,全部为这个符号的 unicode 码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

常用编码方式说明 的相关文章

  • thinkpad t400在fedora 17上风扇转速调整

    作者 xff1a bigluo 转自 xff1a http blog chinaunix net uid 796091 id 3282943 html 在t400上安装了fedora 17 在编译代码的时候经常碰到下面的严重警告 xff0c
  • Python 把秒数转换为xx:xx:xx的时间格式

    题目要求是将给出的秒数转化为xx xx xx的格式 xff0c 最大秒数默认不超过359999 xff0c 即99 59 59 解题思路是利用除法的取整和取余运算 xff0c 从最高位计算到最低位 xff0c 只需根据题设注意时分秒各自的进
  • warning : 无法找到 v142 的生成工具。安装 v142 可使用 v142 生成工具进行生成。

    我使用的是vs2017 xff0c 同伴的是vs2019 xff0c 他发送了他写的项目给我 xff0c 因为使用的vs版本不同 工具集不同 xff0c 导致项目在我的电脑上编译会有如下报错 xff1a warning 无法找到 v142
  • 用栈判断是否是回文

    用栈判断是否是回文 栈 xff1a 仅在表尾进行插入和删除操作的线性表 先进后出 用例 xff1a 1 上海自来水来自海上 2 1234321 3 123321 4 112233 5 123332 思路 xff1a 直接入栈一半的元素 xf
  • VirtualBox安装Arch Linux

    xff08 转载自http www aichengxu com view 34792 xff0c 略有改动 xff09 所有步骤用于指导新手完成archlinux在虚拟机上的安装 xff0c 安装选择未必最优 xff0c 但尽力做到减少新手
  • KEIL UV5 一模一样的程序,编译突然就有问题了

    原来是系统时间调到2000年 xff0c 没有调回来 把时间调回来就可以了
  • 简单选择排序——C语言实现

    选择排序思想 xff1a 若按照递增顺序对顺序表进行排列 xff0c 在n个元素的顺序表中 xff0c 从第i xff08 i 61 1 xff09 个元素开始遍历到第n 1个元素 xff0c 在遍历过程中都将第i个元素依次与第i 43 1
  • php7+操作 MongoDB4.0

    php7 43 操作 MongoDB4 0 一 连接MongoDB服务 mongo 61 new MongoDB Driver Manager 34 mongodb localhost 27017 34 二 添加数据 实例化一个添加类 bu
  • centos图形界面的开启和关闭

    centos图形界面的开启和关闭 一般来说centos主要用于服务器端 xff0c 所以很少开启图形化界面 xff0c 但是有时候为了工作方便也会偶尔开启图形界面 xff0c 下面就让简单谈谈如何开启图形化界面 xff0c 当然简化安装是没
  • 远程连接——NoMachine

    参考文章 安装并使用NoMachine关于nomachine无法连接NX的问题 小贴士 在使用NoMachine的时候 xff0c 需要主机和从机都需要开启NoMachine软件长时间没连接NoMachine xff0c 可能会出现NoMa
  • c++ regex的一个错误?

    下面的代码怎么了 xff1f 为何for换内部不执行 xff1f include lt string gt include lt iostream gt include lt regex gt include lt fstream gt u
  • 如何使用bat脚本批量创建txt文档

    如何使用bat脚本批量创建txt文档 有时候需要批量创建自定义名字的txt文件一遍后续写入数据 xff1a 64 echo off span class token keyword for span f span class token s
  • 转载_debian图形界面安装[转]

    安装GNOME中文桌面环境 安装基本的X系统 apt get install x window system core 安装GNOME桌面环境 apt get install gnome 到现在为止 xff0c 我们已成功安装完成gnome
  • C语言之printf输出中文乱码

    C语言之printf输出中文乱码 不同编辑器问题解决方案Clion编辑器 不同编辑器问题解决方案 根据不同的编辑器的表现进行针对性的处理 Clion编辑器 按照以下步骤操作编辑器设置即可 xff1a File gt Setting xff0
  • win11 系统暂无可用音频设备导致播放失败/音频服务未响应

    win11 系统暂无可用音频设备导致播放失败 音频服务未响应 win11再一次更新后音频突然用不了了 xff0c 驱动和输出设备都显示正常 xff0c 但每次播放就会出现下面的问题 xff0c 重启和更新驱动也没用 最后百度了好久终于解决了
  • C语言-结构体+文件操作+排序练习

    目录 相关定义主函数数据写入结构体函数结构体数据遍历写入文件函数读取文件数据函数数据排序函数数据遍历输出函数 运行程序打开终端输入一组员工数据 xff0c 输入自定的文件名进行存储 读取该文件保存的内容 xff0c 进行排序并输出 相关定义
  • V4L2 ,VIDIOC_DQBUF,Invalid argument

    使用V4L2库打开摄像头 xff0c 获取摄像头数据 xff0c ioctl fd VIDIOC DQBUF amp buf 错误 VIDIOC DQBUF Invalid argument 错误代码 xff1a bool quit 61
  • Linux安装Docker及DockerCompose Docker常用命令 CentOS 7.4

    Docker安装 安装gcc环境 yum y span class token function install span gcc yum y span class token function install span gcc c 43
  • IDEA报错:Error:java: Compilation failed: internal java compiler error 解决办法

    项目启动报错Error java Compilation failed internal java compiler error 解决办法 xff1a 查看这些配置 xff0c 确保版本一样 如果还没有解决 xff0c 那么就去Settin
  • Windows 10远程桌面指定端口连接;端口号修改;远程桌面默认端口号

    远程桌面默认端口号 xff1a 3389 端口号修改 xff1a win 43 r输入regedit打开注册表 依次打开路径 xff1a HKEY LOCAL MACHINE SYSTEM CurrentContro1Set Control

随机推荐