字符集

Posted hxlinux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符集相关的知识,希望对你有一定的参考价值。

编译器转换程序源代码时,所处的环境称为翻译环境(translation environment);
编译后程序执行时,所处的环境称为运行环境(execution environment)。
对C语言来说,翻译环境和运行环境是不同的。因此,C语言定义了两个字符集(character set):源代码字符集运行字符集
源代码字符集(source character set)是用于组成C源代码的字符集合,而运行字符集(execution character set)是可以被执行程序解释的字符集合。在许多C语言的实现版本中,这两个字符集是一样的。如果不一样,则编译器会把源代码中的字符常量和字符串字面量转换成运行字符集中的对应元素。
这两种字符集都包含基本字符集(basic character set)和扩展字符(extended character),C语言没有指定扩展字符,这通常由本地语言所决定。扩展字符加上基本字符集,组成扩展字符集(extended character set)。
基本源代码字符集和基本运行字符集都包含了下面的字符类型:
(1)26个拉丁字母ABCDEFG......XYZ,abcdefg......xyz
(2)十进制阿拉伯数字:0123456789
(3)29个特殊符号:! " # % & ‘ () * + , -. / :; < = > ? [ ] ^ _ { | } ~
(4)5种空白符:空格,水平制表符,垂直制表符,换行符,换页符

基本运行字符集还包括四个不可打印的字符:null字符(字符串终止符),alert(警报)backspace(退格),carriage return(回车),为了与字母和字符串进行区别,输入加转义序列,例如:O表示空字符(null),a表示警报(alert),表示退格(backspace), 表示回车,
在不同的版本中字符实际对应的数值可能不同,C语言本身仅规定了:
(1)基本字符集中的每个字符必须使用一个字节(byte)表示
(2)空字符也是一个字节,其bit位都是0,也就是00000000
(3)0之后的每个十进制数字,编码都比前者大1

宽字符














以上是关于字符集的主要内容,如果未能解决你的问题,请参考以下文章

请教mysql 字符集的问题。

字符集

字符集

字符集

字符集

字符集