windows的CP_ACP代码页与CP_OEMCP代码页区别
2011-03-27 22:49
232 查看
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)
代码页 437 与 1252 的字符编码的区别参见链接:http://www.worldlingo.com/ma/enwiki/zh_cn/Western_Latin_character_sets_(computing)
相关文章推荐
- windows的CP_ACP代码页与CP_OEMCP代码页区别
- 使用MultiByteToWideChar转换UTF8为GBK(UTF8在Windows的代码页是CP_UTF8)
- Windows 和UNIX 上使用java –cp 命令的一点小小区别 分号和冒号的区别
- Windows上的字符转换之CP_ACP和CP_OEMCP
- windows的oem跟vlk分别是什么意思?区别是什么?
- Windows系统版本型号MSDN版、OEM版、RTM版、VOL版区别
- Windows RC版、RTM版、OEM版、RTL版、VOL版的区别
- [笔记]使用API函数 GetACP 获取Windows系统当前代码页
- [笔记]使用API函数 GetACP 获取Windows系统当前代码页
- CP_THREAD_ACP与CP_ACP区别
- Windows上的字符转换之CP_ACP和CP_OEMCP
- [分享] Windows 各个版本 (MSDN ,OEM ,RTM ,VOL) 的具体含义和区别
- Windows上的字符转换之CP_ACP和CP_OEMCP
- linux和windows动态库加载路径区别
- Windows 批处理脚本为启动多个文件--call和start的区别
- [Windows编程] C++中 bool,BOOL ,VARIANT_BOOL 的区别
- 研究小马oem是如何做到windows激活的?
- Microsoft will end OEM and shrink-wrapped sales of Windows XP on June 30, 2008
- Windows2012R2版本区别
- Application.Run() 和 System.Windows.Forms.Form.Show() 方法的区别