gpt4 book ai didi

standards - 电话号码有标准吗?

转载 作者:行者123 更新时间:2023-12-02 19:18:22 24 4
gpt4 key购买 nike

在你说这个问题已经被问过之前,请知道我已经审查过这些:

<小时/>

假设我正在开发一个必须处理电话号码的程序,并且我想确保它们以标准格式保存和显示,以便其他程序和人类也可以可预测且一致地理解它们。

例如,我发现以下内容都是同一美国电话号码的有效表示形式:

  • 1234567
  • 123-4567
  • 123 4567
  • 5551234567
  • (555) 1234567
  • 555-1234567
  • 555 123 4567
  • 555-123-4567
  • (555)-123-4567
  • (555) 123-4567
  • (5) 123 4567
  • 1-555-123-4567
  • (1) 555-123-4567
  • +1 555-123-4567
  • +1 555 123-4567
  • +1 (555) 123-4567
  • 令人作呕……

然后不同的国家以不同的方式表示数字:

  • 55 1234 567 8901
  • 55 12 3456 7890
  • 55 123 456 7890
  • 55 1234 567890
  • 555 123 456
  • (55) 123 4567
  • 5.555.123-45-67
  • 令人作呕……

如您所见,用户查看有效电话号码的方式几乎是无限的(Telephone numbers in the UK 的维基百科页面有 26 个打印页长)。我希望数据库中和屏幕上的所有数字都采用普遍可识别的格式。据我所知,ISO 和 ANSI 没有定义格式。 电话号码有标准符号吗?

最佳答案

没有 ISO 标准,但有 ITU 标准。您需要 E.123 和 E.164。

总之,任何电话号码都由 +CC MMMMMM... 表示,其中 CC 是国家/地区代码,为一到三位数字,MMMMMM... 是区号(如果适用)和用户号码。总位数不得超过 15 位。+ 表示“您本地的国际拨号前缀”。

我将使用我自己的固定电话号码给出一些示例。

例如,如果您在德国,号码 +44 2087712924 将调用为 00442087712924,而在美国,您将调用为 011442087712924。44 表示它是英国号码,而 2087712924 是英国号码本地部分。

在实践中,长字符串 MMMMM... 通常会被分成更小的部分,以便于阅读。如何做到这一点因国家/地区而异。我给出的示例通常会写成 +44 20 8771 2924。

除了上述明确的 E.123 表示法(您可以在世界上允许国际拨号的任何地方使用该表示法)之外,每个国家/地区也有自己的本地表示号码的方法,有些国家/地区有多种方法。示例号码有时会写为 020 8771 2924 或 (020) 8771 2924。严格来说,前导 0 不是区号的一部分(即 20),而是向交换机发出的信号,意思是“这里有一个号码,可以走出本地”。极少数情况下,区号会被省略,号码会写成 8771 2924。所有这些本地表示形式都是不明确的,因为它们可能代表多个国家/地区的有效号码,甚至可能代表同一国家/地区多个地区的有效号码。这意味着您应始终存储号码及其国家/地区代码,并且最好以 E.123 表示法存储。您尤其应该注意,电话号码不是数字。像 05 这样的数字与 5 相同。电话号码 05 与 5 不同,存储系统将从数字中去除前导零。在数据库中将电话号码存储为 CHAR 或 VARCHAR。

最后,一些奇怪的事情。一些愚蠢的人会将示例号码写为 0208 771 2924。这是可拨号的,但如果您去掉前导 0208 并假设它是区号,则其余部分作为本地号码无效。一些电话系统损坏的国家/地区[怒视北美]拥有完全疯狂的系统,在某些地方您必须调用所有 10 位数字才能调用本地电话,而在某些地方您不能>,有些地方必须调用 1NNN NNN NNNN,有些地方不能包括前导号码,等等。在所有此类情况下,将号码存储为 +CC MMMMM... 是正确的。实际调用电话的人(或他们的拨号软件)需要弄清楚如何将其转换为适合其特定位置的可拨号数字序列。

关于standards - 电话号码有标准吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15745545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com