UTF-8真的有多普遍?

Mic*_*rdt 16 language-agnostic utf-8 internationalization

在WWW或其他方面,UTF-8在非英语文本中的使用有多广泛?我对统计数据和特定国家的情况感兴趣.

我知道ISO-8859-1(或15)在德国已经根深蒂固 - 但是对于你必须使用多字节编码的语言,比如日本或中国呢?我知道几年前,日本几乎只使用各种JIS编码.

鉴于这些观察结果,UTF-8是最常见的多字节编码甚至是真的吗?或者更确切地说,它基本上只在内部用于专门针对国际市场和/或必须使用多语言文本的新应用程序中?现在是否可以使用仅在其输出中使用UTF-8的应用程序,或者每个国家市场是否希望输出文件采用不同的遗留编码以便其他应用程序可用.

编辑:我不是在问UTF-8是否有用或为何如此有效.我知道这一切.我在问它是否真的被广泛采用并取代旧的编码.

mar*_*c_s 15

我们几乎完全在面向服务的网络服务领域使用UTF-8 - 即使只使用"西方"欧洲语言,使用各种ISO-8859-X格式让我们的头脑旋转有足够的"怪癖" - UTF- 8真的完全解决了这个问题.

因此,无论何时何地,我都会投入大量使用UTF-8的投票!:-)我想在面向服务的世界以及.NET和Java环境中,这不再是一个问题或潜在的问题.

它只是解决了很多问题,你真的不需要一直处理......

  • 原因可能是Web服务相对较新,并且不受向后兼容性要求的影响. (5认同)
  • 是的,我知道它让生活变得如此简单 - 问题在于你是否真的可以随处可见,或者当你离开自己的应用程序的生态系统时,你是否会被迫不断处理其他编码.我认为在定义Web服务时相对容易; 我更多地考虑最终用户处理的文档. (3认同)

Jon*_*ght 5

我不认为接受UTF-8是可以接受的 - 您需要接受UTF-8以及之前在您的目标市场中流行的任何编码.

好消息是,如果你来自德国的情况,你主要有8859-1/15和ASCII,另外接受8859-1并将其转换为UTF-8基本上是零成本.它很容易检测:例如,使用8859-1编码的ö或ü是无效的UTF-8,甚至没有进入易于检测的无效对.使用字符128-159不太可能有效8859-1.在第一个高字节的几个字节内,通常可以非常好地了解正在使用的编码.一旦你知道编码,无论是通过规范还是猜测,你都不需要转换表来将8859-1转换为Unicode - U + 0080到U + 00FF与8859-1中的0x80-0xFF完全相同.

  • 当然,为了更详尽地确定编码,还有chardet.http://stackoverflow.com/questions/373081 (2认同)

And*_*кин 5

我倾向于经常访问Runet网站.他们中的许多人仍然使用Windows-1251编码.它也是Yandex Mail和Mail.ru(独联体国家中两个最大的网络邮件服务)的默认编码.当从俄罗斯的ip地址下载它时,它也被设置为Opera浏览器中的默认内容编码(在该地区受欢迎的Firefox之后的第二个).我不太确定其他浏览器.

原因很简单:UTF-8需要两个字节来编码西里尔字母.非unicode编码仅需要1个字节(与大多数东方字母不同,西里尔字母非常小).它们也是固定长度的,并且可以通过旧的仅ASCII工具轻松处理.