查看windows操作系统的默认编码

查看windows操作系统的默认编码

2018年01月17日 14:00:44 爱的叹息 阅读数 34554 标签: 活动代码页 更多

个人分类: Java

转自:http://blog.youkuaiyun.com/java_belucky/article/details/18311225

转自:http://blog.youkuaiyun.com/yelbosh/article/details/7518484

 

在Windows平台下,进入DOS窗口,输入:chcp
可以得到操作系统的代码页信息,你可以从控制面板的语言选项中查看代码页对应的详细的字符集信息。

例如:

我的活动代码页为:936,它对于的编码格式为GBK。

代码页是字符集编码的别名,也有人称"内码表"。早期,代码页是IBM称呼电脑BIOS本身支持的字符集编码的名称。当时通用的操作系统都是命令行界面系统,这些操作系统直接使用BIOS供应的VGA功能来显示字符,操作系统的编码支持也就依靠BIOS的编码。现在这BIOS代码页被称为OEM代码页。图形操作系统解决了此问题,图形操作系统使用自己字符呈现引擎可以支持很多不同的字符集编码。

 

  早期IBM和微软内部使用特别数字来标记这些编码,其实大多的这些编码已经有自己的名称了。虽然图形操作系统可以支持很多编码,很多微软程序还使用这些数字来点名某编码。

 

 

下表列出了所有支持的代码页及其国家(地区)或者语言: 
代码页       国家(地区)或语言 
437          美国 
708          阿拉伯文(ASMO 708)
720          阿拉伯文(DOS)
850          多语言(拉丁文 I) 
852          中欧(DOS) - 斯拉夫语(拉丁文 II) 
855          西里尔文(俄语) 
857          土耳其语 
860          葡萄牙语 
861          冰岛语 
862          希伯来文(DOS)
863          加拿大 - 法语 
865          日耳曼语 
866          俄语 - 西里尔文(DOS) 
869          现代希腊语
874          泰文(Windows)
932          日文(Shift-JIS)
936          中国 - 简体中文(GB2312)
949          韩文
950          繁体中文(Big5)
1200         Unicode        
1201         Unicode (Big-Endian)
1250         中欧(Windows)
1251         西里尔文(Windows)
1252         西欧(Windows)
1253         希腊文(Windows)
1254         土耳其文(Windows)
1255         希伯来文(Windows)
1256         阿拉伯文(Windows)
1257         波罗的海文(Windows)
1258         越南文(Windows)
20866        西里尔文(KOI8-R)
21866        西里尔文(KOI8-U)
28592        中欧(ISO)
28593        拉丁文 3 (ISO)
28594        波罗的海文(ISO)
28595        西里尔文(ISO)
28596        阿拉伯文(ISO)
28597        希腊文(ISO)
28598        希伯来文(ISO-Visual)
38598        希伯来文(ISO-Logical)
50000        用户定义的
50001        自动选择
50220        日文(JIS)
50221        日文(JIS-允许一个字节的片假名)
50222        日文(JIS-允许一个字节的片假名 - SO/SI)
50225        韩文(ISO)
50932        日文(自动选择)
50949        韩文(自动选择)
51932        日文(EUC)
51949        韩文(EUC)
52936        简体中文(HZ)
65000        Unicode (UTF-7)
65001        Unicode (UTF-8)
### 如何在操作系统查看默认编码设置 #### Java 获取操作系统默认编码 可以通过 `System.getProperty("file.encoding")` 方法来获取当前 JVM 启动时使用的文件编码[^1]。然而,该方法返回的结果可能受到环境变量或 JVM 参数的影响,因此并不总是代表底层操作系统的实际默认编码。 ```java public class DefaultEncoding { public static void main(String[] args) { String defaultCharset = System.getProperty("file.encoding"); System.out.println("Default Charset: " + defaultCharset); } } ``` 如果需要更可靠的方法,则可以使用以下代码片段: ```java import java.nio.charset.Charset; public class DefaultEncoding { public static void main(String[] args) { Charset charset = Charset.defaultCharset(); System.out.println("Default Charset: " + charset.name()); } } ``` 这种方法通过调用 `Charset.defaultCharset()` 获得更为精确的默认字符集信息。 --- #### Windows 操作系统中的默认编码 Windows 默认编码通常由其内部 **代码页** 定义。对于大多数中文版 Windows 系统,默认代码页为 GBK (CP936)[^2]。要查看当前活动的代码页,可以在命令提示符下执行如下命令: ```cmd chcp ``` 此命令会输出类似于下面的内容: ``` Active code page: 936 ``` 其中,“936” 表示 GBK 编码。如果是其他地区版本的 Windows,可能会看到不同的代码页编号,例如 CP1252 对应西欧语言。 另外,在较新的 Windows 版本(如 Win10Win11)中,虽然提供了实验性的 UTF-8 支持选项,但如果未正确配置或者存在兼容性问题,即使启用了全局 UTF-8 设置,某些应用仍可能继续沿用传统的 OEM 或 ANSI 代码页[^3]。 --- #### Linux/Unix 类型的操作系统上的默认编码检测 Linux 平台下的终端默认编码一般存储于环境变量 `$LANG` 中。可通过以下指令查询: ```bash echo $LANG ``` 典型输出可能是这样的形式之一: ``` en_US.UTF-8 zh_CN.GBK ja_JP.EUC-JP ``` 这里的最后一部分指明了具体的字符编码标准。比如上面的例子分别对应 UTF-8、GBK 及 EUC-JP 编码方案。 此外还可以借助 locale 命令得到更加详细的本地化设定详情: ```bash locale charmap ``` 它单独报告所采用的文字映射规则名称。 --- #### macOS 上的默认编码确认方式 macOS 继承自 BSD Unix 架构,默认情况下几乎所有的文本处理都基于 UTF-8 。验证这一点同样适用前面提到过的 shell 方式即检查 LANG 环境参数值;不过值得注意的是苹果产品线一贯强制推行单一标准化做法——全面拥抱 Unicode ,所以除非特别修改过否则不会遇到非 UTF-8 的情况。 --- ### 总结 每种主流桌面级 OS 都有自己的机制决定并暴露给开发者知晓它们各自的缺省字符串表现形式。以上介绍了几种常见场景及其对应的解决方案用于帮助识别各自平台到底采用了哪种基础字节序列转换协议作为基本单位来进行数据交换与展示工作。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值