Help us understand the problem. What is going on with this article?

エンジニアが知っておいて損は無さそうなISOの標準規格たち

More than 1 year has passed since last update.

「それ○○で標準化されているよ」って指摘されることほど、エンジニアにとっての屈辱は無いですよね。
ということで、世間知らずだと思われないためにも、手始めにISO縛りで有益そうな標準規格1をまとめてみました。

ちなみに、ISOとは…?

国際標準化機構(International Organization for Standardization)は国際規格を策定する世界最大のボランタリーな開発組織で、国家間に共通な標準を提供することによって、世界の貿易を促進することに貢献している

という組織だそうです。
(どう考えてもIOSと略すべきだと思うのですが、ISOになった理由は諸説2あるようです。)

コード体系

ISO 639 (言語名コード)

例:

  • 日本語 = ja, jpn
  • 朝鮮語 = ko, kor
  • 中国語 = zh, zho, chi, zho
  • ドイツ = de, deu, ger, deu

ISO 639-2はTコードとBコードと分かれているとのことで、微妙に異なるのが入るみたいです。

ISO 3166-1 (国名コード)

例:

国・地域名 ISO 3166-1における英語名 numeric alpha-3 alpha-2
日本 Japan 392 JPN JP
西サハラ Western Sahara 732 ESH EH
ニューカレドニア New Caledonia 540 NCL NC

こちらはシンプルですね。
numericはラテン語を利用しない国での使用を想定しているそうです。

ISO 3166-2:JP(日本の都道府県コード)

例:

  • JP-01 = 北海道
  • JP-02 = 青森県
  • JP-03 = 岩手県

北から順に連番になっているようです。
ちなみに、JP-46が鹿児島県、JP-47が沖縄県でした。

ISO 4217 (通貨名コード)

例:

コード 通貨名 国・地域
JPY 日本
KES ケニア・シリング ケニア
KGS キルギス・ソム キルギス

どうでも良いですが、通貨名ってカッコイイ響きが多いですよね。

ISO 5218 (性別コード)

例:

  • 0 = not known(不明)
  • 1 = male(男性)
  • 2 = female(女性)
  • 9 = not applicable(適用不能)

話題になることも多いのでご存知の方も多そうな区分です。
男性にM(Male)、女性にF(Female)を使う業界もあるそうですが、ISO標準的には1, 2を使いましょう。

ISO 22324(深刻度を表わすカラーコード)

公衆向け警報において危険の深刻度をカラーコードで表現するためのガイドラインを与える標準だそうです。
https://ja.wikipedia.org/wiki/ISO_22324

深刻度を示すカラーコード

意味 期待される行動 テキスト色
危険 ただちに適切な保安行動をとる
注意 適切な保安行動をとるための準備をする
安全 行動は求めない

補助的情報のためのカラーコード

意味 使用の制約 テキスト色
致命的な危険 赤と併用できる。白黒の市松模様で置き換えてもよい。
致命的な危険 赤と併用できる。
参考情報 深刻度レベルをあらわすのに用いるべきではない ---
灰色 情報なし 情報が得られないことを示すのに用いる ---

下記のような トリアージタッグ と呼ばれる患者用の優先度付けのタグへ利用されるようです。映画で見たことあるような、無いような…。

tag1.jpg

Web画面のアラートなどに応用すると、ちょっと仰々過ぎてユーザから非難が出るかもしれませんね。

フォーマット

ISO 8601(日付と時刻の表記)

  • 基本形式 20170107T150339+0900
  • 拡張形式 2017-01-07T15:03:39+09:00

日付と時刻の間に"T"を入れるのって、いつまで経っても慣れないですがこれが標準だと思ってTを入れるようにしています。

メッセージプロトコル

メッセージングのプロトコル的(?)なものもISO規格に存在するようです。
金融に詳しく無いので調べていませんが…。

  • ISO 8583(クレジットカードのメッセージ規格)

    • 金融取引カード始発メッセージを定めたもので、カード所有者が支払手段にカードを使用した場合に発生する電子メッセージの規格
    • https://ja.wikipedia.org/wiki/ISO_8583
  • ISO 20022(金融通信メッセージの国際規格)

最後に

コード設計やフォーマット設計は重要な割に、自転車置き場議論と同じく議論が発散しがちでなので、なるべく既存の規格は利用したいところです。

…なのですが、ことISOに関しては調べ方が悪いのか良さげな規格をあまり見つける事ができませんでした。

今後は、「一般ユーザ」と「プレミアムユーザ」といったWebっぽいコード設計などもデファクトが出てきて、ゆくゆくは標準化されると良いですね。

余談ですが、ISO標準の住所形式は存在しないようです3
国や地域によってまちまちなので、そりゃそうだろうという感じです。


  1. マネジメントシステムに関する企画は趣旨が異なりそうなので除外しています 

  2. http://www.gtc.co.jp/iso/iso.html 

  3. http://stackoverflow.com/questions/4840928/iso-standard-street-addresses 

laqiiz
🗽Backend Engineer 🏢Future所属 📝会社の技術ブログ運営者  ⛏趣味でGo製ツール開発してます 📢エモ記事はMediumに書いてます✨
https://medium.com/@laqiiz
future
ITを武器とした課題解決型のコンサルティングサービスを提供します
http://future-architect.github.io/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした