メニュー

ISO 国家コードと行政区コード: 二文字・三文字・数字の使い分け

ISO 3166-1 は国を二文字・三文字・数字の三通りで表し、ISO 3166-2 は国コードに行政区の符号を続けて表します。書き換えの注意点と、住所データでの使いどころを整理します。

公開日

  • 標準
  • テストデータ

ISO 国家コードは、国と地域を短い符号で表すための国際的な取り決めです。同じ国に複数の表記があると、データを突き合わせるたびに揺れが生まれます。この記事では、三通りの符号の違い、行政区の符号の成り立ち、そして実際のデータで気をつける点を順に見ていきます。

国の符号にはどんな種類があるのか?

国の符号は三通りあります。それぞれ長さも用途も違います。

  • 二文字の英字。最も広く使われ、住所データの国欄にはこれを使うのが一般的です。
  • 三文字の英字。二文字より読み取りやすく、通貨や金融の分野で使われることがあります。
  • 三桁の数字。言語や文字に依存しないため、機械的な処理に向いています。

どれも同じ国を指すので、対応関係は一対一です。ただし、符号そのものは変わることがあります。国が併合されたり分割されたり、名称が変わったりすると、新しい符号が割り当てられ、古い符号は使われなくなります。過去のデータを長く保持する場合、この変更をどう扱うかを決めておく必要があります。

行政区の符号はどう組み立てるのか

国の下の区分を表す符号は、国の符号に区切りを挟んで行政区の符号を続けた形になります。前半が国、後半がその国内の区分です。後半の長さは国によって異なり、数字のことも英字のこともあります。

ここで押さえておきたいのは、行政区の符号が国ごとに独立して決められているという点です。同じ後半の文字列が、別の国では別の意味を持ちます。したがって、行政区の符号だけを切り出して比較すると、まったく別の場所を同じものとして扱ってしまいます。必ず国の符号と組にして扱ってください。

また、すべての国に行政区の符号が割り当てられているわけではありません。区分を持たない国、あるいは区分はあるが符号を割り当てていない国もあります。符号がないことは、その国に区分がないことを意味しません。

二文字と三文字のどちらを保存すべきか?

保存するなら二文字が扱いやすい場面が多いです。理由は三つあります。まず、住所の国欄として最も広く流通しています。次に、参照できる対応表が豊富にあります。そして、表示用の国名を別に持てば、符号の短さは不利になりません。

ただし、二文字で足りない場面もあります。金融や物流の取引では三文字が指定されることがあり、既存の連携先が数字を要求することもあります。保存は二文字に統一し、出力の段階で変換する形にしておけば、要求が変わっても内部の構造を変えずに済みます。

気をつけたいのは、名称を保存することです。国名は表記が揺れやすく、同じ国でも複数の書き方があります。名称は表示のためだけに使い、突き合わせには必ず符号を使います。国名の表記と項目の並び順の関係は国際住所の書き方でも触れています。

開発者向け: 対応表をどこに置くか

国と行政区の対応表は、コードのなかに直接書き込まずにデータとして持ちます。符号が更新されるためです。更新のたびにソースコードを直して再配布する形は、運用が重くなります。

次に、存在しない符号を受け取ったときの扱いを決めます。多くの場合、新しい符号が先に生まれ、手元の対応表が古くなります。未知の符号を例外として弾くと、正しい利用者を拒否することになります。受理して記録し、警告にとどめるほうが安全です。

三つめは、大文字と小文字です。符号は大文字で表す決まりですが、利用者が入力する場面では小文字が混ざります。受け取った時点で寄せる処理を入れます。ただし、寄せた結果を表示にそのまま使うと、利用者が入力した表記と違って見えるため、表示の値は別に保持します。

四つめは、行政区の符号の検証です。前半の国と後半の区分が噛み合っているかを確かめないと、存在しない組み合わせが通ります。テストでは、正しい組み合わせ、国だけが正しい組み合わせ、まったく存在しない組み合わせの三件を用意します。住所フォーム全体の検証項目は海外向けの住所フォームのテスト観点にまとめています。

データを移行するときの注意

古いデータには、使われなくなった符号が残っていることがあります。移行の際に、これを機械的に現在の符号へ置き換えるのは危険です。置き換えの規則が一対一でない場合、元の値が指していた場所と違う場所へ移してしまう可能性があります。

安全な進め方は、まず使われなくなった符号の一覧を作り、それぞれについて現在の符号との対応が確定しているものだけを置き換えることです。対応が確定しないものは、そのまま残して人が確認できるようにします。静かに置き換えてしまうと、あとから誤りを検出できません。

次のステップ

まず、自分のデータで国を何で保存しているかを確認してください。名称で保存していたら、符号の欄を足す余地があります。次に、未知の符号を受け取ったときの挙動を一度試します。例外で落ちるなら、それは更新のたびに壊れる作りの証拠です。国ごとの様子を実際に見たいときはランダム住所生成で国を切り替えると、符号と表示名の対応を確かめられます。国を一つ選んで詳しく見るならアメリカの住所の構造のような個別の解説も参考になります。

続けて読む

ランダム住所生成の関連記事