windows的CP_ACP代码页与CP_OEMCP代码页区别
来源:互联网 发布:淘宝开店日期在哪里看 编辑:程序博客网 时间:2024/05/17 20:09
1、对于CJK(多字节编码)的环境(泰文,日文,韩文,中文),CP_ACP与CP_OEMCP没有区别。
2、对于非 CJK(单字节编码)的环境这两个代码页不同
1)对应的实际代码页不同,例如English-US的环境,ACP对应1252,OEMCP而437。
2)一个字节能表示的数值范围是(0-255),对于小于128的编码,437和1252对应的字符是一样的。
3)对于大于128的编码,是不一样的,有可能有些OEM字符(大于128的编码)在437中不存在,有些ASCII(大于128的编码)字符在1252中不存在。
4)相同的编码,对应的字符有可能不同。
5)同理,相同的字符对应的编码有可能不同。
3、windows的文件操作的API默认使用ASCII代码页(即CP_ACP),设备的操作的函数使用OEM代码页(即CP_OEMCP)。
结论: 如果与设备没有关系(即不读写设备)那么使用ACP,否则使用OEMCP(注意读写console的函数是对console设备的操作,所以默认使用OEMCP)。
文件读写API使用的代码页可以通过调用API来实现在CP_ACP与CP_OEMCP更替的。Console的操作也可以通过API来实现CP_ACP与CP_OEMCP更替的
代码页 437 与 1252 的字符编码的区别参见链接:
http://www.worldlingo.com/ma/enwiki/zh_cn/Western_Latin_character_sets_(computing)
- windows的CP_ACP代码页与CP_OEMCP代码页区别
- Windows上的字符转换之CP_ACP和CP_OEMCP
- Windows上的字符转换之CP_ACP和CP_OEMCP
- Windows上的字符转换之CP_ACP和CP_OEMCP
- MultiByteToWideChar() Codepages CP_ACP/CP_OEMCP
- CP_THREAD_ACP与CP_ACP区别
- html代码与xhtml代码的区别
- Windows代码页
- Windows代码页、区域
- 代码与程序的区别与联系
- 托管代码与非托管代码的区别
- 托管代码与非托管代码的区别
- 托管代码与非托管代码的区别
- 初始化代码块与静态初始化代码块的区别?
- 代码段与程序段的区别
- 托管与非托管代码的区别
- HttpUrlConnection与HttpClient的区别 无代码
- 系统UIAlertView与代码弹出的区别
- php替换字符串函数strtr()和str_repalce()区别
- linux compile with error can't find a register in class 'GENERAL_REGS' while reloading 'asm'
- 跑酷
- Mvvm Light Toolkit for wpf/silverlight系列之Command和Events
- Apache下子目录访问权限的设置
- windows的CP_ACP代码页与CP_OEMCP代码页区别
- centos5.4裁剪笔记(2)-准备复制
- JSP小试牛刀
- Apache Vs Httpd Vs Tomcat
- 如何在VC中配置winPcap开发环境
- java 面向对象1
- ajax调用webservice问题
- 管理摘录
- 脉冲编码调制(Pulse-code modulation,PCM)