问题 WhatsApp如何知道我的联系人的国家/地区代码? [关闭]


我在美国,电话号码看起来像这样:

没有国家代码:123-456-7890

国家/地区代码:+1 123-456-7890

现在,根据维基百科,意大利的电话号码有这种格式:

347 xxxxxxx(来自意大利境内)

所以这看起来像美国的数字:347-123-4567

当我打开WhatsApp上的所有联系人时,它会自动添加国家/地区代码,因此如果我有美国电话123-456-7890,则会增加+1。但它怎么知道它是美国的号码呢?它可能是任何东西。

我猜测它使用我当前的区域设置或时区来确定我的位置,以及任何没有国家/地区代码的电话号码,只需添加当前用户的国家/地区代码即可。但我改变了我的iPhone中的语言环境设置,它仍然能够猜出该号码所属的国家/地区。

知道怎么可能吗?

更新:另外,我只是尝试添加一个新的电话号码,而我的手机处于飞机模式,而我的区域设置设置为意大利语,而我的时区设置为意大利罗马,它仍然知道我放了一个美国号码,所以它可以'可能是连接到服务器以获取此信息。


5469
2017-10-24 15:44


起源

我投票把这个问题作为主题关闭,因为它不是关于编程而且吸引了垃圾邮件。 - E_net4
这让我印象深刻 客户支持(您最喜欢的公司) 类型问题(另外,它不是关于编程)。我也不得不投票在这里关闭。 - EJoshuaS


答案:


WhatsApp知道您所在的国家/地区代码,因为您已使用WhatsApp验证了自己的电话号码。根据您自己的经过验证的国家/地区代码检查没有明确国际格式的电话号码,这意味着它们不以“+”或“00”开头。这就是WhatsApp如何知道在您的情况下使用国家/地区代码1。


11
2017-10-29 05:40



没有想到这一点,使用您的国家代码进行检查。做得好 - Pierre


没有明确国家/地区代码的电话号码被假定为您所在国家/地区的本地号码。您自己的国家/地区由区域格式设置(设置,常规,国际)决定。

所以当你输入一个像这样的数字时 (347)123-4567 这被假定为美国电话号码,因为您选择了地区格式下的美国。所以WhatsApp可以假设+1,因为数字中没有明确的国家代码。

假设你在意大利有一个朋友。意大利的国家代码是+39。因此,在联系人中,您可以输入他们的号码 +39 347 1234567

意大利的用户只需输入该号码即可 347 1234567。 WhatsApp会将用户的区域格式视为意大利,并知道显示+39。


5
2017-10-24 16:04



有什么奇怪的,如果我有这个号码的联系方式:347-123-4567,WhatsApp根本不附加国家代码。它只是让它保持原样。但如果我有这个号码的另一个联系人:347-752-8832,那么它会添加+1。我不明白。这两个数字有什么区别?它知道第一个是假的吗? - Snowman
我想WhatsApp可能有一个每个区号的有效美国前缀数据库。您必须联系WhatsApp的开发人员才能确定。我的回答是基于对iOS下电话号码的一般了解。我对WhatsApp的真正运作方式一无所知。 - rmaddy