【常用WinAPI】区域和语言、字符串
一、字符编码
获取HDC文字编码:GetTextCharset
获取HDC文字编码详细信息:GetTextCharsetInfo
确认是否为默认双字节编码首字节:IsDBCSLeadByte
确认是否为指定双字节编码首字节:IsDBCSLeadByteEx
多字节字符串->宽字符串:MultiByteToWideChar(这两个函数可实现编码转换)
宽字符串->多字节字符串:WideCharToMultiByte
二、区域字符串转换
按要求转换字符串形态:LCMapString(可实现简繁转换)
获取格式化的日期:GetDateFormat
获取格式化的时间:GetTimeFormat
获取格式化的数字:GetNumberFormat
获取格式化的货币:GetCurrencyFormat
三、区域信息
获取用户默认区域ID:GetUserDefaultLCID
获取用户默认语言ID:GetUserDefaultLangID
获取系统默认区域ID:GetSystemDefaultLCID
获取系统默认语言ID:GetSystemDefaultLangID
获取线程区域:GetThreadLocale
通过中性区域获取默认区域:ConvertDefaultLocale
获取区域信息:GetLocaleInfo
设置区域信息:SetLocaleInfo
获取日历信息:GetCalendarInfo
设置日历信息:SetCalendarInfo
验证区域是否合法:IsValidLocale
验证语言组是否合法:IsValidLanguageGroup
四、代码页
获取当前ANSI代码页
获取当前OEM代码页:GetOEMCP
获取代码页信息:GetCPInfo/GetCPInfoEx
验证代码页是否合法:IsValidCodePage
五、枚举函数
枚举日历信息:EnumCalendarInfo/EnumCalendarInfoEx
枚举日期格式:EnumDateFormats/EnumDateFormatsEx
枚举时间格式:EnumTimeFormats
枚举代码页:EnumSystemCodePages
枚举系统区域:EnumSystemLocales
六、字符集相关
下一个字符:CharNext(对UTF-16按UCS-2处理)
上一个字符:CharPrev
下一个字符(不同代码页):CharNextExA(没有W版本)
上一个字符(不同代码页):CharPrevExA(没有W版本)
字符串->OEM:CharToOem
字符数组->OEM:CharToOemBuff
OEM->字符串:OemToChar
OEM->字符数组:OemToCharBuff
七、区域相关的比较
区域相关比较:CompareString
八、字符类型
获取字符类型:GetStringTypeA/GetStringTypeEx(第一个函数有W版本,但参数不同)
是否字母:IsCharAlpha
是否字母或数字:IsCharAlphaNumeric
是否小写:IsCharLower
是否大写:IsCharUpper
字符串变小写:CharLower
字符串变大写:CharUpper
字符数组变小写:CharLowerBuff
字符数组变大写:CharUpperBuff
九、字符串函数
获取长度:lstrlen
复制:lstrcpy
复制一部分:lstrcpyn
拼接:lstrcat
比较:lstrcmp
不考虑大小写比较:lstrcmpi
格式化:wsprintf/wvsprintf(注意:不支持浮点数,限制1024个字符)
十、资源
从资源加载字符串:LoadString