Loading article…
.jpg/500px-RegisteredMailBarcode_(cropped).jpg)
UPU S10規格は、 配送中の追跡と追跡を目的として、国際郵便物に 13 文字の識別子を割り当てるシステムを定義します。
自由化が進み、同じ国で複数の郵便サービスが運営される可能性が高まる中、郵便サービスを指定するための国コードの使用は問題となっています。この問題を解決するために、各国にはその国のすべての S10 識別子を管理する指定郵便サービスがあり、競合する郵便サービスは指定所有者と協力する必要があります。UPU 加盟国によって指定された組織は、その UPU 加盟国の管轄下にあるすべての事業者間で S10 識別子の発行と使用を管理し、12 暦月の間に S10 識別子が再利用されないようにします。24 暦月以上の期間が推奨されます。
形式
識別子は、2文字のサービスインジケータコード、8桁のシリアル番号(00000000~99999999の範囲)、1桁のチェックディジット、および発行元の郵便局の国を識別する2文字のISO国コードで構成されています。[1]
サービスインジケーターコード
サービス コードは通常、発行国内で割り当てられ、管理されますが、ここにリストされているように、特定の種類のサービスとコード範囲はすべての国で使用されます。
チェックデジット計算
- サービスインジケーターコードと国コードは無視してください。
- 左から右に、8 桁の数字に重み 8、6、4、2、3、5、9、7 を割り当てます。
- 各桁の合計にその重みを掛けた値
S を計算します。
- たとえば、数字 47312482 の場合: S = 4×8 + 7×6 + 3×4 + 1×2 + 2×3 + 4×5 + 8×9 + 2×7 = 200。
- チェックディジットC = 11 − ( S mod 11)を計算します。
- C = 10の場合は、 C = 0 に変更します。
- C = 11の場合は、 C = 5 に変更します。
- たとえば47312482の場合、C = 11 − (200 mod 11) = 11 − 2 = 9となります。
チェックデジット計算用の Python コード
Python 3.6 以降の場合:
def get_check_digit ( num : int ) -> int :
"""S10 チェック ディジットを取得します。""" weights = [ 8 , 6 , 4 , 2 , 3 , 5 , 9 , 7 ] sum = 0 for i , digit in enumerate ( f " { num : 08 } " ): sum += weights [ i ] * int ( digit ) sum = 11 - ( sum % 11 ) if sum == 10 : sum = 0 elif sum == 11 : sum = 5 return sum
チェックディジット計算用の JavaScript コード
関数getCheckDigit (数値) {
定数重み= [ 8 、6 、4 、2 、3 、5 、9 、7 ];
const numArr =配列.from ( String ( num ), Number ) ;
合計を0とします。
numArr.forEach ( ( n , i ) => sum = sum + ( n * weights [ i ])) ;
合計= 11 - (合計% 11 );
合計が10の場合、合計は0になります。
そうでない場合、(合計== 11 )合計= 5 ;
合計を返します。
}
チェックディジット計算のためのHaskellコード
checkDigit :: [ Int ] -> Int checkDigit ns | c == 11 = 5 | c == 10 = 0 |それ以外の場合= cただし、weights = [ 8 , 6 , 4 , 2 , 3 , 5 , 9 , 7 ] s = sum $ zipWith ( * ) weights ns c = 11 - ( s ` mod ` 11 )
参照
注記
- ^ abcdefghi 「まだ世界共通使用に割り当てられていない、または国内/二国間/多国間専用に割り当てられていない2つのアルファベット文字の組み合わせは、UPUの標準委員会の権限の下で割り当てられる可能性がある」(p.2)[1]
- ^ 「原則として、コード範囲AV〜AZの使用は、RFID追跡対象アイテムを識別するためです。」(p.4) [1]
- ^ 「したがって、a) 保険がかけられた区画には CV 以外のサービス指標がある可能性があり、b) サービス指標 CV は必ずしもその区画が保険がかけられた区画であることを意味するわけではない。」(p.4) [1]
- ^ abcde 「S10 識別子バーコードと ISO/IEC 15418 データ識別子を使用するバーコードとの混同のリスクを軽減するために、JA–JZ、KA–KZ、SA–SZ、TA–TZ、WA–WZ の文字の組み合わせは予約されており、有効なサービス インジケーター値として割り当てることはできません。」(p.2) [1]
- ^ 「UA~UZのコード範囲は、S10識別子を必要とする商品を含み、顧客向けの追跡機能のない郵便物に使用されます。この識別子は、電子事前データ用のITMATTメッセージなど、サプライチェーンでの可視性のために使用されます。」(p.4) [1]
参考文献
- ^ abcdefg 「S10 郵便物の識別 - 13文字の識別子」(PDF)。UPU。2017年10月17日。 2024年3月5日閲覧。
外部リンク
- S10のドラフト:
- パート A: 識別子の構造とエンコードの原則
- パートB: EMS品目
- パートC: 特殊文字製品
- パートD: 小包
- パートE: 国内/二国間使用
- UPUサービスインジケータコードリスト、リスト124
- S10 追跡番号のオンライン検証ツール
- 郵便追跡番号の検証
