C语言

ASCII编码与Unicode编码

时间:2023-03-17 22:58:13 C语言 我要投稿
  • 相关推荐

ASCII编码与Unicode编码

  下文将为大家介绍关于ASCII编码与Unicode编码,欢迎学习!

  ASCII编码与Unicode编码

  ASCII码

  我们知道,一个二进制位(Bit)有0、1两种状态,一个字节(Byte)有8个二进制位,有256种状态,每种状态对应一个符号,就是256个符号,从00000000到11111111。

  计算机诞生于美国,早期的计算机使用者大多使用英文,上世纪60年代,美国制定了一套英文字符与二进制位的对应关系,称为ASCII码,沿用至今。

  ASCII码规定了128个英文字符与二进制的对应关系,占用一个字节(实际上只占用了一个字节的后面7位,最前面1位统一规定为0)。例如,字母 a 的的ASCII码为 01100001,那么你暂时可以理解为字母 a 存储到内存之前会被转换为 01100001,读取时遇到 01100001 也会转换为 a。

  Unicode编码

  随着计算机的流行,使用计算机的人越来越多,不仅限于美国,整个世界都在使用,这个时候ASCII编码的问题就凸现出来了。

  ASCII编码只占用1个字节,最多只能表示256个字符,我大中华区10万汉字怎么表示,日语韩语拉丁语怎么表示?所以90年代又制定了一套新的规范,将全世界范围内的字符统一使用一种方式在计算机中表示,这就是Unicode编码(Unique Code),也称统一码、万国码。

  Unicode 是一个很大的集合,现在的规模可以容纳100多万个符号,每个符号的对应的二进制都不一样。Unicode 规定可以使用多个字节表示一个字符,例如 a 的编码为 01100001,一个字节就够了,”好“的编码为 01011001 01111101,需要两个字节。

  为了兼容ASCII,Unicode 规定前0~127个字符与ASCII是一样的,不一样的只是128~255的这一段。

  相关阅读》》在Linux下运行C语言程序

  Gedit

  Gedit是一个简单实用的文本编辑器,拥有漂亮的界面,支持语法高亮,比 Vim 更易上手。本教程将Gedit作为C代码编辑器。

  Gedit的安装:

  sudo apt-add-repository ppa:ubuntu-on-rails/ppa //添加ubuntu的软件源

  sudo apt-get update //更新软件列表

  sudo apt-get install gedit-gmate //安装

  在当前目录下创建一个C源文件并打开:

  touch test.c

  gedit test.c

  可以看到gedit的窗口,输入:

  #include#includeint main(){ printf("Hello,Linux.\n"); exit(0);}

  gedit 窗口截图

  注意:Gedit支持多种语言的高亮显示,一般情况下能够自动识别语言,如果识别错误,请在“编辑->高亮模式“下选择C。

  GCC

  Linux下使用最广泛的C/C++编译器是GCC,大多数的Linux发行版本都默认安装,不管是开发人员还是初学者,一般都将GCC作为Linux下首选的编译工具。本教程毫不犹豫地使用GCC来编译C程序。

  保存文件后退出,打开终端并 cd 到当前目录,输入下面的命令:

  gcc test.c -o test

  可以直接将C代码编译链接为可执行文件。

  可以看到在当前目录下多出一个文件 test,这就是可执行文件。不像Windows,Linux不以文件后缀来区分可执行文件,Linux下的可执行文件后缀理论上是可以任意更改的。

  当然,也可以分步编译:

  1) 预处理

  gcc -E test.c -o test.i

  在当前目录下会多出一个预处理结果文件 test.i,打开 test.i 可以看到,在 test.c 的基础上把stdio.h和stdlib.h的内容插进去了。

  2) 编译为汇编代码

  gcc -S test.i -o test.s

  其中-S参数是在编译完成后退出,-o为指定文件名。

  3) 汇编为目标文件

  gcc -c test.s -o test.o

  .o就是目标文件。目标文件与可执行文件类似,都是机器能够识别的可执行代码,但是由于还没有链接,结构会稍有不同。

  3) 链接并生成可执行文件

  gcc test.o -o test

  如果有多个源文件,可以这样来编译:

  gcc -c test1.c -o test1.o

  gcc -c test2.c -o test2.o

  gcc test1.o test2.o -o test

  注意:如果不指定文件名,GCC会生成名为a.out的文件,.out文件只是为了区分编译后的文件,Linux下并没有标准的可执行文件后缀名,一般可执行文件都没有后缀名。

  编译后生成的test文件就是程序了,运行它:

  ./test

  如果没有运行权限,可以使用sudo命令来增加权限(注意要在Linux的分区下):

  sudo cdmod test 777

  对于程序的检错,我们可以用-pedantic、-Wall、-Werror选项:

  -pedantic选项能够帮助程序员发现一些不符合 ANSI/ISO C标准的代码(并不是全部);

  -Wall可以让gcc显示警告信息;

  -Werror可以让gcc在编译中遇到错误时停止继续。

  这3个选项都是非常有用的。

【ASCII编码与Unicode编码】相关文章:

C语言的编码规范02-10

C语言的编码编译12-04

C语言基础之编码规范11-29

人力资源须知的编码技巧12-16

解读PHP页面编码声明方法03-30

数字编码教学设计(精选8篇)05-29

单词记忆-字母编码记忆法11-28

《数学编码》教学设计及反思(通用10篇)11-24

报关员考试商品编码预测题12-03

报关水平测试《商品编码》归类考试12-03