获取国家和地区代码

问题描述:

我可以使用TelephonyManager::getNetworkCountryIso()获得ISO格式的国家代码,因为它会为美国等返回美国,但是如何获取数字国家拨号代码?获取国家和地区代码

我似乎无法找到任何函数为我提供了我正在寻找的数据,因为我需要一个函数(例如)为美国/加拿大返回01,为巴基斯坦返回92等等。

+0

为什么美国/加拿大的“01”?这些可以最多3位数字。 – djechlin 2012-05-10 16:01:15

由于它们是一个简短的清单,并且有了明确的映射到alpha代码,您是否可以只存储映射?

我不确定这是你想要的,因为巴基斯坦的ISO数字国家代码是586,而你的问题引用了“92”,这是巴基斯坦的国际拨号代码。尽管如此,同样的原则仍然可行

+0

Sory为了混淆,实际上我想要国际拨号代码。 Android中有没有任何方法可以获取? – ARDaniyal 2010-08-09 13:49:26

+0

对不起,ISO代码和拨号代码是我在你的问题中知道的。不过,无论您的语言或平台如何,您都可以尝试从http://en.wikipedia.org/wiki/List_of_country_calling_codes创建列表。 – 2010-08-09 13:58:33

您可以通过http://country.io/phone.json获得ISO2国家代码到国际拨号代码的JSON映射。下面是使得它使用一个简单的PHP例子:

$codes = json_decode(file_get_contents("http://country.io/phone.json"), true); 
echo $codes['US']; 
// => 1 
echo $codes['PK']; 
// => 92 

更多的相关数据见http://country.io/data/