字符、字节与编码
2017-03-25 15:29
239 查看
--------------siwuxie095
字节(Byte)
字节是通过网络传输信息或在硬盘(或内存)中存储信息的单位,是计算机
信息技术用于计量存储容量和传输容量的一种计量单位
1个字节等于8位二进制,即一个8位的二进制数,是一个很具体的存储空间
如:0x01,0x45,0xFA …
字符(Char)
字符是人们使用的记号,是抽象意义上的一个符号
如:'1','中','a','$','¥'
…
字符集(Charset)
"字符集"也称作"编码"
各个国家和地区所制定的不同ANSI 编码标准中,都只规定了各自语言所需的 "字符"
如:汉字标准(GB2312)中没有规定韩国语字符怎样存储
这些ANSI 编码标准所规定的内容有两层含义:
(1)使用那些字符。即哪些汉字、字母和符号会被收入标准中。
所包含"字符"的集合就叫做"字符集"
(2)规定每个字符分别用一个字节还是多个字节存储,用哪些字节来存储,
这个规定就叫做"编码"
各个国家和地区在制定编码标准的时候,"字符的集合"和"编码"一般都是同时制定的
因此,平常所说的"字符集",如:GB2312、GBK、JIS等,除了有
"字符的集合"这层含义外,同时也包含了"编码"的含义
ANSI
字符串 在内存中,如果 "字符" 是以 ANSI 编码形式存在的,一个字符可能
使用一个字节或多个字节来表示,称这种字符串为ANSI 字符串 或 多字节
字符串。
不同ANSI 编码所规定的标准不同,因此,对于一个给定的多字节字符串,
必须知道它采用的是哪一种编码规则,才能知道它包含哪些"字符"
UNICODE
字符串 在内存中,如果 "字符" 是以 UNICODE 中的序号存在的,称这种字符串
为UNICODE 字符串 或 宽字节字符串
对于UNICODE 字符串来说,不管在什么环境下,它所代表的 "字符" 内容总是
不变的
用来给 UNICODE 字符集编码的标准有很多种,如:UTF-8,UTF-7,UTF-16,
UnicodeLittle,UnicodeBig 等
无论操作任何形式的数据,都可以使用读写字节的方式来实现
但是,如果操作的是文本数据,需要使用字符来操作它,一旦
涉及到字符,就需要为当前的字符指定编码,否则可能会乱码
【made by siwuxie095】
字节(Byte)
字节是通过网络传输信息或在硬盘(或内存)中存储信息的单位,是计算机
信息技术用于计量存储容量和传输容量的一种计量单位
1个字节等于8位二进制,即一个8位的二进制数,是一个很具体的存储空间
如:0x01,0x45,0xFA …
字符(Char)
字符是人们使用的记号,是抽象意义上的一个符号
如:'1','中','a','$','¥'
…
字符集(Charset)
"字符集"也称作"编码"
各个国家和地区所制定的不同ANSI 编码标准中,都只规定了各自语言所需的 "字符"
如:汉字标准(GB2312)中没有规定韩国语字符怎样存储
这些ANSI 编码标准所规定的内容有两层含义:
(1)使用那些字符。即哪些汉字、字母和符号会被收入标准中。
所包含"字符"的集合就叫做"字符集"
(2)规定每个字符分别用一个字节还是多个字节存储,用哪些字节来存储,
这个规定就叫做"编码"
各个国家和地区在制定编码标准的时候,"字符的集合"和"编码"一般都是同时制定的
因此,平常所说的"字符集",如:GB2312、GBK、JIS等,除了有
"字符的集合"这层含义外,同时也包含了"编码"的含义
ANSI
字符串 在内存中,如果 "字符" 是以 ANSI 编码形式存在的,一个字符可能
使用一个字节或多个字节来表示,称这种字符串为ANSI 字符串 或 多字节
字符串。
不同ANSI 编码所规定的标准不同,因此,对于一个给定的多字节字符串,
必须知道它采用的是哪一种编码规则,才能知道它包含哪些"字符"
UNICODE
字符串 在内存中,如果 "字符" 是以 UNICODE 中的序号存在的,称这种字符串
为UNICODE 字符串 或 宽字节字符串
对于UNICODE 字符串来说,不管在什么环境下,它所代表的 "字符" 内容总是
不变的
用来给 UNICODE 字符集编码的标准有很多种,如:UTF-8,UTF-7,UTF-16,
UnicodeLittle,UnicodeBig 等
无论操作任何形式的数据,都可以使用读写字节的方式来实现
但是,如果操作的是文本数据,需要使用字符来操作它,一旦
涉及到字符,就需要为当前的字符指定编码,否则可能会乱码
【made by siwuxie095】