字节,字符,编码和存储
来源:互联网 发布:幸运牛抽奖软件注册码 编辑:程序博客网 时间:2024/05/24 00:14
字节(octet):是一个八位的存储单元,取值范围一定是0~255。
字符(character):为语言意义上的符号,范围不一定。例如:A,B,上,中,& 等。
编码(Encode):为每个字符指定一个数值,同时确定数值的表示方法。
存储:字符编码在计算机中存储方式,Big Endian:高字节在前,低字节在后,Little Endian:低字节在前,高字节在后。
他们之间的关系
编码是对字符的一种映射,可以有多种方案。最早的一种编码方案是ASCII。主要用于现代英语和西欧语言。在ASCII编码方案中,只说明了0到127分别代表什么。随着电脑的普及,需要在电脑中显示的字符越来越多。为整合全世界的所有语言文字在电脑中的显示,出现了Unicode。在Unicode中,一个字符被映射到一个叫做码点(code point)的东西,说白了就是一个序号。
对每个字符编号以后,在电脑中如何表示呢?这就涉及到编码的实现。
一种方式是:一个码点用2个字节即16位来表示。这种表示方法就是UTF16.
一种方式是:一个码点用4个字节即32位来表示。这种表示方法就是UTF32.
一种方式是:一个码点用1到4个字节来表示,这种表示方法就是UTF8. 这种表示描述起来有点复杂。
确定了表示的方法,那么如何存储呢?
UTF-16包括三种:UTF-16,UTF-16BE(Big Endian),UTF-16LE(Little Endian)。
UTF-16BE和UTF-16LE不难理解,而UTF-16就需要通过在文件开头以名为BOM(Byte Order Mark)的字符来表明文件是Big Endian还是Little Endian。BOM为U+FEFF这个字符。
与UTF-16类似,UTF-32也包括UTF-32、UTF-32BE、UTF-32LE三种编码,UTF-32也同样需要BOM字符。
- 字节,字符,编码和存储
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 常用命令总结一下
- android 学习笔记 (for 黎活明讲师)
- A*算法
- x264中的参数说明
- GO程序设计1——快速入门
- 字节,字符,编码和存储
- linux下通过脚本监控程序运行
- boost asio icmp实现
- ubuntu 安装 fonts
- 图片处理工具类
- 千万级SQL Server数据库表分区的实现
- Android中的View
- SWT的可视化控件的X11窗口句柄简介
- Delphi 快捷键