首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unicode、UTF、ASCII、ANSI格式差异

Unicode、UTF、ASCII、ANSI格式差异
EN

Stack Overflow用户
提问于 2009-03-31 06:02:25
回答 2查看 322.7K关注 0票数 383

UnicodeUTF8UTF7UTF16UTF32ASCIIANSI编码有何区别?

这些对程序员有什么帮助呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-03-31 06:15:04

往下看你的清单:

  • "Unicode“不是一种编码,尽管不幸的是,许多文档不准确地使用它来引用特定系统默认使用的任何Unicode编码。在Windows和Java上,这通常意味着UTF-16;在许多其他地方,它意味着UTF-8。正确地说,Unicode是指抽象字符集本身,而不是任何特定的encoding.
  • UTF-16:,每个“代码单元”有2个字节。这是.NET中字符串的原生格式,通常在Windows和Java中也是如此。Basic Multilingual Plane (BMP)之外的值被编码为代理项对。它们过去很少使用,但现在许多消费者应用程序将需要知道非BMP字符,以便支持emojis.
  • UTF-8:可变长度编码,每个代码点1-4个字节。使用通常用于邮件编码的1 byte.
  • UTF-7:将ASCII值编码为ASCII值。如果你认为你需要它,而你不是在做邮件,那么你就错了。(这只是我在新闻组等外部邮件中发布的经验,它在all.)
  • UTF-32:固定宽度编码中并没有广泛使用,每个代码点使用4个字节。这不是很有效率,但让BMP之外的生活变得更容易。我有一个.NET Utf32String类,作为我的MiscUtil库的一部分,如果您需要它的话。(它没有经过非常彻底的测试,注意you.)
  • ASCII:单字节编码只使用最下面的7位。(Unicode代码点0-127。)没有重音等。
  • ANSI :没有固定的ANSI编码--有很多这样的编码。通常,当人们说"ANSI“时,他们指的是”我的系统的默认区域设置/代码页“,这是通过Encoding.Default获得的,通常是Windows-1252,但也可以是其他区域设置。

my Unicode pagetips for debugging Unicode problems上有更多信息。

另一个重要的代码资源是unicode.org,它包含的信息比您所能理解的要多得多--可能最有用的部分是code charts

票数 516
EN

Stack Overflow用户

发布于 2009-03-31 06:10:07

开始使用字符编码的一些读物:Joel on Software: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

顺便说一句-- ASP.NET与此无关。编码是通用的。

票数 77
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/700187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档