ANSI:系统预设的标准文字储存格式。ANSI是American National Standards Institute的缩写。它成立于1918年,是一个自愿性的组织,拥有超过1300个会员,包括所有大型的电脑公司。ANSI专为电脑工业建立标准,它是世界上相当重要的标准。
Unicode:世界上所有主要指令文件的联集,包括商业和个人电脑所使用的公用字集。当采用Unicode格式储存文件时,可使用Unicode控制字符辅助说明语言的文字覆盖范围,如阿拉伯语、希伯来语。用户在“记事本”中输入含有Unicode字符的文字并储存文件时,系统会提示你必须选取“另存为”中的Unicode编码,这些字符才不会被遗失。需要提醒大家的是,部分Windows 2000字型无法显示所有的Unicode字符。如果发现文件中缺少了某些字符,只需将其变更为其它字型即可。
Unicode big endian:在Big-endian处理器(如苹果Macintosh电脑)上建立的Unicode文件中的文字位元组(存放单位)排列顺序,与在Intel处理器上建立的文件的文字位元组排列顺序相反。最重要的位元组拥有最低的地址,且会先储存文字中较大的一端。为使这类电脑的用户能够存取你的文件,可选择Unicode big-endian格式。
UTF-8:UTF意为通用字集转换格式(Universal Character Set Transformation Format),UTF-8是Unicode的8位元格式。如果使用只能在同类位元组内支持8个位元的重要资料一类的旧式传输媒体,可选择UTF-8格式。
Unicode:世界上所有主要指令文件的联集,包括商业和个人电脑所使用的公用字集。当采用Unicode格式储存文件时,可使用Unicode控制字符辅助说明语言的文字覆盖范围,如阿拉伯语、希伯来语。用户在“记事本”中输入含有Unicode字符的文字并储存文件时,系统会提示你必须选取“另存为”中的Unicode编码,这些字符才不会被遗失。需要提醒大家的是,部分Windows 2000字型无法显示所有的Unicode字符。如果发现文件中缺少了某些字符,只需将其变更为其它字型即可。
Unicode big endian:在Big-endian处理器(如苹果Macintosh电脑)上建立的Unicode文件中的文字位元组(存放单位)排列顺序,与在Intel处理器上建立的文件的文字位元组排列顺序相反。最重要的位元组拥有最低的地址,且会先储存文字中较大的一端。为使这类电脑的用户能够存取你的文件,可选择Unicode big-endian格式。
UTF-8:UTF意为通用字集转换格式(Universal Character Set Transformation Format),UTF-8是Unicode的8位元格式。如果使用只能在同类位元组内支持8个位元的重要资料一类的旧式传输媒体,可选择UTF-8格式。
解决方案 »
- C# C/S 如何获取访问某一页面的用户IP
- linq对内存中的多个表进行多表查询,用什么方式执行效率最快?
- 通过类实例中的一个属性怎么找到这个实例
- 技术讨论:杀毒软件技术(C#.NET)
- 急!!!还是在DataGrid中添加ComboBox控件的问题啊!我搞了一天也没有搞出来啊!谁有代码! 能给我学习一下·!
- 100分,求教一个难题,请高手指教!!!
- C# WinForm中如何让DataGridView中的LinkButton不起作用?
- datagrid中显示多个关系表时,怎么去掉展开器,直接显示所有行所有列?
- c#中怎么读取sqlserver数据表中的binary类型的字段,如下题?
- C#中窗口A控制窗口B的控件内容,窗口C负责打开窗口B,这个关系怎么弄啊
- 如何更改dagagrid网格列标题头?
- 怎么样才能把返回的object类型转化成int类型阿?
如果大量使用东亚文字等文字,那么用 UNICODE 反而较节约,UTF-8 较浪费。因为 UNICODE (基本上)总是用 2 字节记录一个字符,而 UTF-8 可能会用到 3 或者 4 个字节来存储一个字符。UTF-8 在网络上受到的支持较好。而 UNICODE 则相对要差一些,但现在也已逐渐改变。VS.NET 在内部处理时使用 UNICODE,在储存时缺省使用 UTF-8。
既然unicode都是2字节,UTF-8可能会用到3个甚至4个字节来存储一个字符,反而UTF-8在网络上受到的支持较好?按照常规应该是越规则越容易传输解析的啊。vs.net既然内部处理用的是unicode,为什么在存储的时候缺省是UTF-8呢? 看上去没有道理啊。
譬如 XML 文件缺省的字符集也是 utf-8。然而.net 中的 String 类型均是 UNICODE,而源代码文件在保存是采用 UTF-8 格式。
源代码文件保存为 UTF-8 格式,是因为代码文件中一般 ANSI 字符居多。UTF-8 采用 1 到 4 字节的可变长度来表示字符,对越常用的字符就采用越短的长度来表示。UNICODE 在使用 SURROGATE 时,也会达到 4 字节。但这种情况比较少见。
UTF8与UTF16两者各有优点。
UTF16是固长两字节。因为固定长度,所以性能上要比非定长的UTF8高。
UTF8是非固长,最长为四个字节。大多数西欧语言的每个字符所需的字节少于两个。日语、朝鲜语和中文的每个字符通常需要三个字节。与UTF-16相比,在 UTF-8 中,只有亚洲文字的编码开销会比较大。 更多关于UNICODE的信息,可查看www.unicode.orghttp://developers.sun.com/dev/gadc/technicalpublications/articles/utf8.html
看看这篇文章,UTF8的重要性,里面说得很清楚了。
这里是我收集到的一些关于字符编码的资料,或许对你有用:http://61.145.120.8/kin/AbourCharSet/