【问题标题】:What, if any, checksum is used for TNT.com tracking numbers?TNT.com 跟踪号码使用什么校验和(如果有)?
【发布时间】:2008-09-11 16:36:12
【问题描述】:

我正在编写一些软件来识别追踪号码(就像 Google 在您搜索 FedEx 或 UPS 号码时识别它们一样)。大多数快递员使用系统,例如“加权平均模数系统”,可用于识别号码是否是有效的跟踪号码。有谁知道 TNT 托运号码是否使用这样的系统,如果是,它是什么?我已经询问了 TNT 支持,代表告诉我他们没有……但我想再确认一下。

【问题讨论】:

    标签: algorithm validation checksum


    【解决方案1】:

    好的,你问到现在已经三个月了,但我在写一个类似的软件时偶然发现了这个。据我们所知,TNT 使用S10 跟踪号码系统。这意味着他们的号码将是 AA########AA 类型。最后两个字母对应一个 ISO/IATA 国家代码。话虽如此,TNT 使用我们认为必须代表全球的 WW。这不是一个完整的答案,至少与校验和或算法无关,但它可能有用吗?希望有帮助

    柳树

    【讨论】:

      【解决方案2】:

      据我所知,没有。对不起。

      我认为您正在尝试验证输入的跟踪号以确保输入正确?

      -- 凯文·费尔柴尔德

      【讨论】:

        【解决方案3】:

        我相信有一个 Check Digit / Checksum 数字,可能是 MOD10 的衍生物,但不知道它是什么算法,被 TNT 称为第 9 位。 很高兴知道???

        据我所知,12345678 校验位是 5,22345678 校验位是 8。

        【讨论】:

        • 其实是MOD 11 VB.net我写的如下:
        【解决方案4】:

        其实是我写的MOD 11 VB.net如下:

          Dim number As String = TextBox1.Text
            Dim A As Integer
            Dim B As Integer
            Dim C As Integer
            Dim check_digit As Integer
        
            A = (CInt(Mid(number, 1, 1)) * 8) + (CInt(Mid(number, 2, 1)) * 6) + (CInt(Mid(number, 3, 1)) * 4) + (CInt(Mid(number, 4, 1)) * 2) + (CInt(Mid(number, 5, 1)) * 3) + (CInt(Mid(number, 6, 1)) * 5) + (CInt(Mid(number, 7, 1)) * 9) + (CInt(Mid(number, 8, 1)) * 7)
            B = ((A \ 11) * 11)
            C = A - B
        
            If C = 0 Then
                check_digit = 5
            End If
        
            If C = 1 Then
                check_digit = 0
            End If
        
            If C <> 0 And C <> 1 Then
                check_digit = 11 - C
            End If
        
            MsgBox(number & check_digit)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-10-02
          • 1970-01-01
          • 2014-05-28
          • 2011-03-22
          • 1970-01-01
          • 2012-12-06
          • 1970-01-01
          相关资源
          最近更新 更多