区域设置和代码页
来源:互联网 发布:mysql 用户权限 编辑:程序博客网 时间:2024/06/01 10:12
区域设置和代码页
区域设置(即国家或地区设置,即locale) ID 反映特定地理区域的当地约定和语言。可能有一个以上的国家/地区说某种特定的语言,例如,巴西和葡萄牙都说葡萄牙语。反之,一个国家/地区可能有一种以上的官方语言。例如,加拿大有两种官方语言:英语和法语。因此,加拿大有两个不同的区域设置:加拿大英语和加拿大法语。一些与区域设置相关的类别包括日期的格式设置和货币值的显示格式。
语言确定文本和数据的格式约定,而国家/地区则确定区域约定。每种语言都有一个由代码页表示的唯一映射,包括字母表中的字符以外的字符(如标点符号和数字)。代码页是一个字符集并且与语言相关。因此,区域设置(即locale)就成为语言、国家/地区和代码页的唯一组合。可以通过调用setlocale 函数在运行时更改区域设置和代码页设置。
不同的语言可能使用不同的代码页。例如,ANSI 代码页 1252 用于英语和大多数欧洲语言,而 ANSI 代码页 932 则用于日本汉字。实际上,所有代码页都共享 ASCII 字符集中最低的 128 个字符(0x00 到 0x7F)。
任何单字节代码页都可使用一个包含 256 项的表来表示,在该表中表示为字节值到字符(包括数字和标点符号)或标志符号的映射。任何多字节代码页也可以表示为一个非常大的表(有 64K 项),包含双字节值到字符的映射。但实际上,对于前 256 个(单字节)字符,它通常用表表示;对于双字节值,则用范围表示。
有关代码页的更多信息,请参见 代码页。
C 运行时库有两类内部代码页:区域设置和多字节。在程序执行期间可以更改当前代码页(有关 setlocale 和 _setmbcp 函数的信息,请参见文档)。而且,运行时库可以获取并使用操作系统代码页的值。在 Windows 2000 中,操作系统代码页是“系统默认 ANSI”代码页。此代码页在程序的执行期间保持不变。
更改区域设置代码页后,与区域设置相关的函数集的行为更改为由选定的代码页指示的行为。默认情况下,所有与区域设置相关的函数使用对于“C”区域设置唯一的区域设置代码页开始执行过程。可以通过调用setlocale 函数来更改内部区域设置代码页(以及其他区域设置特定的属性)。对setlocale(LC_ALL, "") 的调用将区域设置设置为由操作系统用户区域设置指示的那个区域设置。
同样,更改多字节代码页时,多字节函数的行为更改为由选定的代码页指示的行为。默认情况下,所有多字节函数使用与操作系统默认代码页相对应的多字节代码页开始执行过程。可以通过调用_setmbcp 函数来更改内部多字节代码页。
C 运行时函数 setlocale 设置、更改或查询部分或全部当前程序的区域设置信息。_wsetlocale 例程是setlocale 的宽字符版本;_wsetlocale 的参数和返回值是宽字符字符串。
请参见
概念
Unicode 和 MBCS字符集可移植性的好处
参见:
https://msdn.microsoft.com/zh-cn/library/8w60z792%28v=vs.80%29.aspx
- 区域设置和代码页
- 设置编码区域与设置输出代码页
- Windows代码页、区域
- CultureInfo代码和区域列表
- VS2005设置代码区域背景颜色
- eclipse边框以及代码区域黑色设置
- 代码实现之查询代码页的信息(附加:关于系统区域设置的说明)
- 区域和ANSI代码页(ACP, ANSI Code Page)
- 页和区域
- C/C++读写文件时莫忘了设置区域代码
- android studio 如何设置代码区域的背景色
- DB2字符集和代码页设置常识
- DB2字符集和代码页设置常识
- 在网页上打印时用javascript设置打印区域和不打印区域,分页等
- TCC89x的NAND隐藏区域的设置和读写
- 用C#修改系统区域和语言设置
- cocos2d-x自适应屏幕 和 设置当前层显示区域
- Django设置TIME_ZONE和LANGUAGE_CODE为中国区域
- javaIO
- 简述:C# 装箱和拆箱
- CentOS6.4 YUM 安装LAMP
- Java 中基本类型和字符串之间的转换
- 条款25:考虑写一个不抛出异常的swap函数
- 区域设置和代码页
- win系统安装apache服务提示“应用程序无法启动,因为应用程序的并行配置不正确”
- linux下安装mysql5.5.43
- OC特有语法1—点语法,成员变量作用域,@property,id,构造方法,多文件编程
- Unity小贴士 导出资源文件和简单加密方式
- iOS App 之间的相互跳转
- 第六周项目2:我的数组类
- 解决matlab缺少awgn和wgn函数的问题
- nyoj 448 寻找最大数