中文標準交換碼
中文資訊交換碼
亂碼
二进制
代码页
位元
印度文字資訊交換碼
国家标准代码
基本多文種平面
大五碼
大端序
字母表
字符编码
字符集
字节
小端序
拉丁字母
摩斯电码
数
文字
統一碼
编码
西里尔字母
计算机
越南資訊交換標準代碼
通用字符集
集合
香港增補字符集
ASCII
CJK
EBCDIC
EUC
GBK
GB 18030
GB 2312
ISO/IEC 2022
ISO/IEC 646
ISO/IEC 8859
ISO/IEC 8859-1
ISO/IEC 8859-10
ISO/IEC 8859-11
ISO/IEC 8859-13
ISO/IEC 8859-14
ISO/IEC 8859-15
ISO/IEC 8859-16
ISO/IEC 8859-2
ISO/IEC 8859-3
ISO/IEC 8859-4
ISO/IEC 8859-5
ISO/IEC 8859-6
ISO/IEC 8859-7
ISO/IEC 8859-8
ISO/IEC 8859-9
KOI8-R
KOI8-U
MIME
Microsoft Windows
Punycode
SIL國際
Shift JIS
UTF-16
UTF-8
中文資訊交換碼
亂碼
二进制
代码页
位元
印度文字資訊交換碼
国家标准代码
基本多文種平面
大五碼
大端序
字母表
字符编码
字符集
字节
小端序
拉丁字母
摩斯电码
数
文字
統一碼
编码
西里尔字母
计算机
越南資訊交換標準代碼
通用字符集
集合
香港增補字符集
ASCII
CJK
EBCDIC
EUC
GBK
GB 18030
GB 2312
ISO/IEC 2022
ISO/IEC 646
ISO/IEC 8859
ISO/IEC 8859-1
ISO/IEC 8859-10
ISO/IEC 8859-11
ISO/IEC 8859-13
ISO/IEC 8859-14
ISO/IEC 8859-15
ISO/IEC 8859-16
ISO/IEC 8859-2
ISO/IEC 8859-3
ISO/IEC 8859-4
ISO/IEC 8859-5
ISO/IEC 8859-6
ISO/IEC 8859-7
ISO/IEC 8859-8
ISO/IEC 8859-9
KOI8-R
KOI8-U
MIME
Microsoft Windows
Punycode
SIL國際
Shift JIS
UTF-16
UTF-8
字符编码(Character encoding)、字集碼是字符集由编码组成。編碼是指將某一字符序列對應到一指定集合中某一东西(例如可能显示为一种自然数序列,交流所用的字母表或者字音表),再將其對應到另一个给定的集合中的其它东西,如一个自然数序列、8位字节或者电脉冲,以便于文本在计算机中存储和通过通信网络的发送。常见的例子包括将拉丁字母表编码成摩斯电码和ASCII。其中,ASCII将字母、数字和其它符号編號,並用7位元的二进制來表示这个整数。通常會額外使用一个扩充的位元,以便于以8位字节的方式存储。
在计算机技术发展的早期,如ASCII(1963年)和EBCDIC(1964年)这样的字符集逐漸成為標準。但这些字符集的局限很快就变得明显,于是人们开发了許多方法来扩展它们。对于支持包括东亚CJK字符家族在内的写作系统的要求能支持更大量的字符,并且需要一种系统而不是临时的方法实现这些字符的编码。
目录
1 简单字符集
2 现代编码模型
3 流行的字符编码
4 字符转换工具
5 参见
6 外部连接
编辑 简单字符集
按照惯例,人们认为字符集和字符编码是同义词,因为使用同样的标准来定义提供什么字符并且这些字符如何编码到一系列的代码单元(通常一个字符一个单元)。由于历史的原因,MIME和使用这种编码的系统使用术语字符集来表示用于将一组字符编码成一系列八位字节数据的整个系统。
编辑 现代编码模型
由統一碼和通用字符集所構成的现代字符编码模型則没有跟从简单字符集的观点。它们将字符编码的概念分为:有哪些字符、它们的编号、这些编号如何编码成一系列的“码元”(有限大小的数字)以及最后这些单元如何組成八位字节流。區分這些概念的核心思想是建立一个能够用不同方法來编码的一个通用字符集。为了正确地表示这个模型需要更多比“字符集”和“字符编码”更为精确的术语表示。现代模型中所用的术语列在下面:
字符集(Character Set)是一个系统支持的所有抽象字符的集合。字符表可以是封闭的,即除非创建一个新的标准(ASCII和多数ISO/IEC 8859系列都是这样的例子),否則不允许添加新的符号,;字符表也可以是开放的,即允许添加新的符号(統一碼和一定程度上代碼頁是这方面的例子)。特定字符表中的字符反映了如何将书写系统分解成线性信息单元的决定。例如拉丁、希腊和斯拉夫字母表分为字母、数字、变音符号、标点和如空格这样的一些少数特殊字符,它们都能按照一种简单的线性序列排列(尽管对它们的处理需要另外的规则,如带有变音符号的字母这样的特定序列如何解释——但这不属于字符表的范畴)。为了方便起见,这样的字符表可以包括预先编号的字母和变音符号的组合。其它的书写系统,如阿拉伯语和希伯莱语,由于要适应双向文字和在不同情形下按照不同方式交叉在一起的字形,就使用更为复杂的符号表表示。
编码字符集(CCS:Coded Character Set)定义一個非負整數為一個碼點,而其集合則表示一个字符集。例如,在一个给定的字符表中,表示大写拉丁字母“A”的字符被赋予整数65、字符“B”是66,如此继续下去。一个完整的字符集和與其对应的整数集一起被称为“编码字符集”。多个编码字符集可以表示同样的字符表,例如ISO-8859-1和IBM的代码页037和500含蓋同样的字符表但是将它们映射为不同的代码。在一个编码字符集中,每个码点仅仅表示一个字符。
字符编码表(CEF:Character Encoding Form)定义将编码字符集的整数代码转换成有限大小整数代码值以利于使用固定位的二进制表示数字的形式(比如,几乎任何的计算机系统)的系统存储。例如,使用16位单元存储数字信息的系统每个单元只能够直接表示从0到65,535的数值,但是如果使用多个16位单元就能够表示更大的整数。这就是CEF的作用:它定义一种从0到140万的范围的单个 码点映射到一些列列的范围在0到65,5356的单个或多个 码值的方法。
最简单的字符编码表就是單純地选择足够大的单位,以保证编码字符集中的所有数值能够直接编码(一个码点对应一个码值)。这对于能够用使用八位元來表示的编码字符集(如多数传统的非CJK编码所作的那样)是合理的,对于能够使用十六位元來表示的编码字符集(如早期版本的統一碼)来说也足够合理。但是,随着编码字符集的大小增加(例如,现代統一碼每个字符至少需要21位),这变得越来越没有效率,并且很难让现有系统适应更大的码值。因此,许多使用新近統一碼版本的系统或者使用将統一碼码点對應為可变长度8位字节序列的UTF-8,或者使用将码点對應为可变长16位字的UTF-16。
字符编码方案(CES:Character Encoding Scheme)定义如何將整数代码對應到适合基于8位字节数据的文件系统存储或用於网络传输。在多数使用統一碼的场合,使用一个简单的字符来指定字节顺序是大端序或者小端序(即使对于UTF-8来说并不需要这些)。然而,有些复杂的字符编码机制使用转义序列在几种简单编码机制(如ISO/IEC 2022)和用于减小每个单元所用字节数的压缩机制(如SCSU、BOCU和Punycode)之间切换。
编辑 流行的字符编码
ISO/IEC 646
ASCII
EBCDIC
ISO/IEC 8859:
ISO/IEC 8859-1, ISO/IEC 8859-2, ISO/IEC 8859-3, ISO/IEC 8859-4, ISO/IEC 8859-5, ISO/IEC 8859-6, ISO/IEC 8859-7, ISO/IEC 8859-8, ISO/IEC 8859-9, ISO/IEC 8859-10, ISO/IEC 8859-11, ISO/IEC 8859-13, ISO/IEC 8859-14, ISO/IEC 8859-15, ISO/IEC 8859-16
DOS 字符集,也被称作IBM 代码页:
CP437, CP737, CP850, CP852, CP855, CP857, CP858, CP860, CP861, CP863, CP865, CP866, CP869
Windows 字符集:
Windows-1250
Windows-1251 用于西里尔字母表
Windows-1252
Windows-1253
Windows-1254
Windows-1255 用于希伯莱语
Windows-1256 用于阿拉伯语
Windows-1257
Windows-1258 用于越南语
KOI8-R, KOI8-U, KOI7
MIK
印度文字資訊交換碼
越南資訊交換標準代碼
大五碼
香港增補字符集
國家標準代碼
GBK
GB 2312
GB 18030
中文資訊交換碼
中文標準交換碼
ISO/IEC 2022, Shift JIS, EUC
統一碼 (以及其子集,如16位的基本多文種平面)。 参见 UTF-8
编辑 字符转换工具
linux:
utrac - 将整个文件内容从一种字符编码转换到另外一种 (http://utrac.sourceforge.net/)
convmv - 将文件名从一种字符编码转到另外一种 (http://j3e.de/linux/convmv/man/)
编辑 参见
Category:字符编码 — 关于通用字符编码的文章
Category:字符集 — 关于特殊字符编码的文章
亂碼 — 非映射字符集
字符集
编辑 外部连接
Character sets registered by Internet Assigned Numbers Authority
Unicode Technical Report #17: Character Encoding Model
SIL's freeware fonts, editors and documentation See SIL
ICU Converter Explorer
The Cyrillic Charset soup
Early history of character set standardization
Character Sets And Code Pages At The Push Of A Button
A complete introduction to Japanese character encodings
A tutorial on character code issues
Online Char (ASCII), HEX, Binary, Base64, etc... Encoder/Decoder with MD2, MD4, MD5, SHA1+2, etc. hashing algorithms
Universal Cyrillic decoder, 一个用来帮助恢复由于错误字符编码产生的不可读的西里尔字母的在线程序(以及其它的一些程序).
Introduction to i18n,请参阅 Chapter 3 - Important Concepts for Character Coding Systems
汉字字符编码查询
Zh/什么是字符编码? - FedoraProject
什么是字符编码? Unicode 字符集. Unicode 编码. 国家标准. 我国现在实行的汉字编码标准为 GB 18030-2005 ,是之前的 GB 18030-2000 的修订版。 这一标准由. 中国电子技术标准化研究所(信息产业部电子工业标准化研究所
NCR与HTML Entities | 风雪之隅
Character Entities References(HTML Entities)和Numeric Character Reference(NCR)都是让你可以在页面中显示特殊的字
PostgreSQL 数据库函数
Postgres 最初由加州大学伯克利分校计算机科学系开发,倡导了很多关系对象
zhouzhenwu - 使用vim转换文件编码
encoding: Vim 内部使用的字符编码方式,包括 Vim 的 buffer (缓冲区)、菜单文本、消息文本等。 ... fileencodings: Vim 启动时会按照它所列出的字符编码方式逐一探测即将打开的文件的字
Unicode - 维基百科,自由的百科全书
(Codepage)转换表的技术来过渡性的部分解决这一问题
使用 Adobe® InDesign® CS4标记文本
(繁体中文字符编码)和. KSC5601 (韩文字符编码)。 6. 单击. 确定. 文章文本即导出为文本文件。 您可以使用字处理应用程序或文本编辑器来打开和编辑该标记文本文
Tag: 编码 - Bluelovers.風 - Powered by Discuz!
Bluelovers.風 BL,GL,ajax,bluelovers,bluelove
关于MapWinGIS的编译以及打开中文数据的问题
2011 Conference - San Diego. 中国论坛 (Chinese Forum) : MapWindow Discussion Forum ... 外部设定的字符编码. private byte _DbaseLanguageCode = 0;//数据库字符编码代码 #endregion #region Constructors ...
流程、产品和人 | Blog
HTML特殊字符编码 特殊符号 特殊字符. magento如何把用户评论显示到产品详细页面. zencart建设外贸站点必须的几个插件. 杜绝第三方利用Zen cart的Tell a ... 流程、产品和人. Posted on 4/16/2011 at 4:40:06 PM. 之前一直存着一个疑问:支付宝页面这么少,为什么大家都这 ...
