首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >平台在不同平台上的默认字符集?

问平台在不同平台上的默认字符集?
EN

Stack Overflow用户
提问于 2012-02-16 14:15:46
回答 2查看 37.1K关注 0票数 27

一些遗留代码依赖于平台的默认字符集进行翻译。对于“西方世界”的Windows和Linux安装,我知道这意味着什么。但想到俄罗斯或亚洲的平台,我完全不确定他们平台的默认字符集是什么(只有UTF-16?)

因此,我想知道在执行以下代码行时会得到什么:

代码语言:javascript
复制
System.out.println("Default Charset=" + Charset.defaultCharset());

PS:

我不想在这里讨论字符集的问题及其与Unicode的区别。我只想收集什么操作系统会产生什么特定的字符集。请只张贴具体的价值!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-16 14:31:07

这是一个特定于用户的设置。在许多现代Linux系统上,它是UTF-8。在Mac上,是MacRoman。在美国,Windows上通常是CP1250,在欧洲则是CP1252。在中国中,你经常会发现简体中文(Big5或GB*)。

但这是系统的默认设置,每个用户都可以随时更改。这可能是解决方案:使用system属性file.encoding启动应用程序时设置编码。

见这个答案如何做到这一点。我建议将其放入一个启动应用程序的小脚本中,这样用户的默认设置就不会受到污染。

票数 32
EN

Stack Overflow用户

发布于 2012-02-16 15:11:01

对于“西方世界”的Windows和Linux安装,我知道这意味着什么。

可能不如你想的那么好。

但是想到俄罗斯或亚洲的平台,我完全不确定他们的平台的默认字符集是什么

通常这是他们国家历史上使用的任何编码。

(只有UTF-16?)

绝对不是。在Unicode标准出现之前,计算机的使用就已经普及了,每个语言区域都开发了一个或多个编码来支持其语言。那些在ASCII之外需要少于128个字符的人通常会开发一个"extended“,其中许多最终被标准化为ISO-8859,而另一些则开发了两字节编码,通常是几个相互竞争的编码。例如,在日本,电子邮件通常使用JIS,但网页使用Shift-JIS,有些应用程序使用EUC-JP。在Java中,平台默认编码可能会遇到其中的任何一个。

这是一个巨大的混乱,这正是Unicode被开发的原因。但是混乱还没有消失,我们仍然必须处理它,不应该对要解释为文本的给定字节的编码进行任何假设。没有纯文本这样的东西。

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

https://stackoverflow.com/questions/9312816

复制
相关文章

相似问题

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