再谈编码(很多都是拾人牙慧不要见笑)

来源:互联网 发布:php 报表管理系统 编辑:程序博客网 时间:2024/06/07 20:22

字符集,也叫code page,最先来源于IBM。每个公司都有自己的字符集,并且相同的字符集在不同公司之间的名字也不一样,就算是ISO组织定义的一些标准字符集在不同的公司实现也有差别。
比如说微软和IBM的code page,参见。
微软:
http://msdn.microsoft.com/en-us/library/dd317756%28VS.85%29.aspx
http://msdn.microsoft.com/en-us/goglobal/bb964653.aspx(详细字符集)
IBM:
http://www-03.ibm.com/systems/i/software/globalization/codepages.html
http://demo.icu-project.org/icu-bin/convexp(详细字符集和别名)
再看看IANA的,就知道字符集和他们的别名有多少了。
http://www.iana.org/assignments/character-sets

下面是一些主要的字符集。
ASCII: http://en.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange
EBCDIC: http://en.wikipedia.org/wiki/Extended_Binary_Coded_Decimal_Interchange_Code
ISO 8859: http://www.unicodecharacter.com/charsets/iso8859.html


Unicode是一种用16位bit来表示字符的字符集,UTF-8,UTF-16等都是Unicode的编码方式;
有关什么是UCS-2,UCS-4,UTF-8,字节序,BOM等概念,请参见:
http://www.fmddlmyy.cn/mytext.html 中的谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词,这个作者是我在网上搜到的国内牛人
http://www.nada.kth.se/i18n/ucs/unicode-iso10646-oview.html

UTF-7是用来进行mail传输的编码方式,因为SMTP不支持非acsii字符,同时不能保证底层的传输设备是8-bit clean(就是它只认识7-bit的acsii字符http://en.wikipedia.org/wiki/8-bit_clean),
所以在传输非ascii字符时要先进行编码(UTF-7),传输二进制文件时进行base64编码。可参见:
http://en.wikipedia.org/wiki/UTF-7

UCD(Unicode Character Database):  http://www.unicode.org/ucd/
Unicode的字符map: http://en.wikipedia.org/wiki/Mapping_of_Unicode_characters#Special_code_points

有了字符集,还要有相应的字体,对应的字符才能正确的显示出来。
Unicode字体:http://en.wikipedia.org/wiki/List_of_typefaces#Unicode_fonts


编码转换工具:
http://demo.icu-project.org/icu-bin/icudemos
http://www.unipad.org/main/
http://www.fmddlmyy.cn/myprog.html
http://www.kalytta.com/tools.php
http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=

原创粉丝点击