首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将ISO3国家代码转换为ISO2国家代码- Windows 8

将ISO3国家代码转换为ISO2国家代码- Windows 8
EN

Stack Overflow用户
提问于 2014-06-16 09:17:44
回答 2查看 1.6K关注 0票数 2

如何将ISO-3国家代码转换为ISO-2国家代码?例如,我有一个字符串值"USA“,需要转换为"US”。

在传递位置的纬度和经度后,我将API (Microsoft.Phone.Maps.Services.MapAddress.CountryCode)中的3位国家代码作为字符串值。我检查了Windows 8 API栈,但是找不到任何相关的东西。

这在Windows Phone 8中是可能的吗?有可用的库来做同样的事情吗?任何帮助都将不胜感激。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2014-06-20 14:02:28

似乎您被困在WP上的自定义映射。

本机Win NLS主要适用于WP,它不包括EnumSystemGeoID函数来枚举WP上的所有值。

http://msdn.microsoft.com/en-us/library/windows/desktop/dd317826(v=vs.85).aspx

参见c:\Program (x86)\Windows \8.0\Include\winnls.h:

代码语言:javascript
复制
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PC_APP)

WINBASEAPI
BOOL
WINAPI
EnumSystemGeoID(
    _In_ GEOCLASS        GeoClass,
    _In_ GEOID           ParentGeoId,
    _In_ GEO_ENUMPROC    lpGeoEnumProc);

#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PC_APP) */

这也可能是托管RegionInfo不提供WP上的ThreeLetterISORegionName属性的原因。

票数 2
EN

Stack Overflow用户

发布于 2014-06-16 09:23:12

似乎没有内置的方法来做到这一点。您可以使用来自GenericTypeTea's answer的方法。但是,如果需要转换许多国家代码,则可以避免区域性枚举,并预先计算用于国家代码转换的映射字典。

看一下这里,Converting country codes in .NET

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24240275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档