ruby ISO_3166-1国家代码2 char到3 char映射

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby ISO_3166-1国家代码2 char到3 char映射相关的知识,希望对你有一定的参考价值。

module CountryCodes
  class << self
    def two_char_code_for(three_char_country_code)
      if country = CODES[three_char_country_code.to_sym]
        country[:two_char_code]
      end
    end
  
    def three_char_code_for(two_char_country_code)
      CODES.select {|k,v| v[:two_char_code].to_sym == two_char_country_code.upcase.to_sym}.keys.first
    end

    def country_name_for(three_char_country_code)
      if country = CODES[three_char_country_code.upcase.to_sym]
        country[:country_name]
      end
    end
  end

  CODES = {
    :AFG => {:two_char_code =>'AF', :country_name => 'AFGHANISTAN'},
    :ALB => {:two_char_code =>'AL', :country_name => 'ALBANIA'},
    :DZA => {:two_char_code =>'DZ', :country_name => 'ALGERIA'},
    :ASM => {:two_char_code =>'AS', :country_name => 'AMERICAN SAMOA'},
    :AND => {:two_char_code =>'AD', :country_name => 'ANDORRA'},
    :AGO => {:two_char_code =>'AO', :country_name => 'ANGOLA'},
    :AIA => {:two_char_code =>'AI', :country_name => 'ANGUILLA'},
    :ATA => {:two_char_code =>'AQ', :country_name => 'ANTARCTICA'},
    :ATG => {:two_char_code =>'AG', :country_name => 'ANTIGUA AND BARBUDA'},
    :ARG => {:two_char_code =>'AR', :country_name => 'ARGENTINA'},
    :ARM => {:two_char_code =>'AM', :country_name => 'ARMENIA'},
    :ABW => {:two_char_code =>'AW', :country_name => 'ARUBA'},
    :AUS => {:two_char_code =>'AU', :country_name => 'AUSTRALIA'},
    :AUT => {:two_char_code =>'AT', :country_name => 'AUSTRIA'},
    :AZE => {:two_char_code =>'AZ', :country_name => 'AZERBAIJAN'},
    :BHS => {:two_char_code =>'BS', :country_name => 'BAHAMAS'},
    :BHR => {:two_char_code =>'BH', :country_name => 'BAHRAIN'},
    :BGD => {:two_char_code =>'BD', :country_name => 'BANGLADESH'},
    :BRB => {:two_char_code =>'BB', :country_name => 'BARBADOS'},
    :BLR => {:two_char_code =>'BY', :country_name => 'BELARUS'},
    :BEL => {:two_char_code =>'BE', :country_name => 'BELGIUM'},
    :BLZ => {:two_char_code =>'BZ', :country_name => 'BELIZE'},
    :BEN => {:two_char_code =>'BJ', :country_name => 'BENIN'},
    :BMU => {:two_char_code =>'BM', :country_name => 'BERMUDA'},
    :BTN => {:two_char_code =>'BT', :country_name => 'BHUTAN'},
    :BOL => {:two_char_code =>'BO', :country_name => 'BOLIVIA'},
    :BIH => {:two_char_code =>'BA', :country_name => 'BOSNIA AND HERZEGOWINA'},
    :BWA => {:two_char_code =>'BW', :country_name => 'BOTSWANA'},
    :BVT => {:two_char_code =>'BV', :country_name => 'BOUVET ISLAND'},
    :BRA => {:two_char_code =>'BR', :country_name => 'BRAZIL'},
    :IOT => {:two_char_code =>'IO', :country_name => 'BRITISH INDIAN OCEAN TERRITORY'},
    :BRN => {:two_char_code =>'BN', :country_name => 'BRUNEI DARUSSALAM'},
    :BGR => {:two_char_code =>'BG', :country_name => 'BULGARIA'},
    :BFA => {:two_char_code =>'BF', :country_name => 'BURKINA FASO'},
    :BDI => {:two_char_code =>'BI', :country_name => 'BURUNDI'},
    :KHM => {:two_char_code =>'KH', :country_name => 'CAMBODIA'},
    :CMR => {:two_char_code =>'CM', :country_name => 'CAMEROON'},
    :CAN => {:two_char_code =>'CA', :country_name => 'CANADA'},
    :CPV => {:two_char_code =>'CV', :country_name => 'CAPE VERDE'},
    :CYM => {:two_char_code =>'KY', :country_name => 'CAYMAN ISLANDS'},
    :CAF => {:two_char_code =>'CF', :country_name => 'CENTRAL AFRICAN REPUBLIC'},
    :TCD => {:two_char_code =>'TD', :country_name => 'CHAD'},
    :CHL => {:two_char_code =>'CL', :country_name => 'CHILE'},
    :CHN => {:two_char_code =>'CN', :country_name => 'CHINA'},
    :CXR => {:two_char_code =>'CX', :country_name => 'CHRISTMAS ISLAND'},
    :CCK => {:two_char_code =>'CC', :country_name => 'COCOS (KEELING) ISLANDS'},
    :COL => {:two_char_code =>'CO', :country_name => 'COLOMBIA'},
    :COM => {:two_char_code =>'KM', :country_name => 'COMOROS'},
    :COG => {:two_char_code =>'CG', :country_name => 'CONGO'},
    :COK => {:two_char_code =>'CK', :country_name => 'COOK ISLANDS'},
    :CRI => {:two_char_code =>'CR', :country_name => 'COSTA RICA'},
    :CIV => {:two_char_code =>'CI', :country_name => 'COTE D\'IVOIRE'},
    :HRV => {:two_char_code =>'HR', :country_name => 'CROATIA (local name: Hrvatska)'},
    :CUB => {:two_char_code =>'CU', :country_name => 'CUBA'},
    :CYP => {:two_char_code =>'CY', :country_name => 'CYPRUS'},
    :CZE => {:two_char_code =>'CZ', :country_name => 'CZECH REPUBLIC'},
    :DNK => {:two_char_code =>'DK', :country_name => 'DENMARK'},
    :DJI => {:two_char_code =>'DJ', :country_name => 'DJIBOUTI'},
    :DMA => {:two_char_code =>'DM', :country_name => 'DOMINICA'},
    :DOM => {:two_char_code =>'DO', :country_name => 'DOMINICAN REPUBLIC'},
    :TMP => {:two_char_code =>'TP', :country_name => 'EAST TIMOR'},
    :ECU => {:two_char_code =>'EC', :country_name => 'ECUADOR'},
    :EGY => {:two_char_code =>'EG', :country_name => 'EGYPT'},
    :SLV => {:two_char_code =>'SV', :country_name => 'EL SALVADOR'},
    :GNQ => {:two_char_code =>'GQ', :country_name => 'EQUATORIAL GUINEA'},
    :ERI => {:two_char_code =>'ER', :country_name => 'ERITREA'},
    :EST => {:two_char_code =>'EE', :country_name => 'ESTONIA'},
    :ETH => {:two_char_code =>'ET', :country_name => 'ETHIOPIA'},
    :FLK => {:two_char_code =>'FK', :country_name => 'FALKLAND ISLANDS (MALVINAS)'},
    :FRO => {:two_char_code =>'FO', :country_name => 'FAROE ISLANDS'},
    :FJI => {:two_char_code =>'FJ', :country_name => 'FIJI'},
    :FIN => {:two_char_code =>'FI', :country_name => 'FINLAND'},
    :FRA => {:two_char_code =>'FR', :country_name => 'FRANCE'},
    :FXX => {:two_char_code =>'FX', :country_name => 'FRANCE, METROPOLITAN'},
    :GUF => {:two_char_code =>'GF', :country_name => 'FRENCH GUIANA'},
    :PYF => {:two_char_code =>'PF', :country_name => 'FRENCH POLYNESIA'},
    :ATF => {:two_char_code =>'TF', :country_name => 'FRENCH SOUTHERN TERRITORIES'},
    :GAB => {:two_char_code =>'GA', :country_name => 'GABON'},
    :GMB => {:two_char_code =>'GM', :country_name => 'GAMBIA'},
    :GEO => {:two_char_code =>'GE', :country_name => 'GEORGIA'},
    :DEU => {:two_char_code =>'DE', :country_name => 'GERMANY'},
    :GHA => {:two_char_code =>'GH', :country_name => 'GHANA'},
    :GIB => {:two_char_code =>'GI', :country_name => 'GIBRALTAR'},
    :GRC => {:two_char_code =>'GR', :country_name => 'GREECE'},
    :GRL => {:two_char_code =>'GL', :country_name => 'GREENLAND'},
    :GRD => {:two_char_code =>'GD', :country_name => 'GRENADA'},
    :GLP => {:two_char_code =>'GP', :country_name => 'GUADELOUPE'},
    :GUM => {:two_char_code =>'GU', :country_name => 'GUAM'},
    :GTM => {:two_char_code =>'GT', :country_name => 'GUATEMALA'},
    :GIN => {:two_char_code =>'GN', :country_name => 'GUINEA'},
    :GNB => {:two_char_code =>'GW', :country_name => 'GUINEA-BISSAU'},
    :GUY => {:two_char_code =>'GY', :country_name => 'GUYANA'},
    :HTI => {:two_char_code =>'HT', :country_name => 'HAITI'},
    :HMD => {:two_char_code =>'HM', :country_name => 'HEARD AND MC DONALD ISLANDS'},
    :VAT => {:two_char_code =>'VA', :country_name => 'HOLY SEE (VATICAN CITY STATE)'},
    :HND => {:two_char_code =>'HN', :country_name => 'HONDURAS'},
    :HKG => {:two_char_code =>'HK', :country_name => 'HONG KONG'},
    :HUN => {:two_char_code =>'HU', :country_name => 'HUNGARY'},
    :ISL => {:two_char_code =>'IS', :country_name => 'ICELAND'},
    :IND => {:two_char_code =>'IN', :country_name => 'INDIA'},
    :IDN => {:two_char_code =>'ID', :country_name => 'INDONESIA'},
    :IRN => {:two_char_code =>'IR', :country_name => 'IRAN (ISLAMIC REPUBLIC OF)'},
    :IRQ => {:two_char_code =>'IQ', :country_name => 'IRAQ'},
    :IRL => {:two_char_code =>'IE', :country_name => 'IRELAND'},
    :ISR => {:two_char_code =>'IL', :country_name => 'ISRAEL'},
    :ITA => {:two_char_code =>'IT', :country_name => 'ITALY'},
    :JAM => {:two_char_code =>'JM', :country_name => 'JAMAICA'},
    :JPN => {:two_char_code =>'JP', :country_name => 'JAPAN'},
    :JOR => {:two_char_code =>'JO', :country_name => 'JORDAN'},
    :KAZ => {:two_char_code =>'KZ', :country_name => 'KAZAKHSTAN'},
    :KEN => {:two_char_code =>'KE', :country_name => 'KENYA'},
    :KIR => {:two_char_code =>'KI', :country_name => 'KIRIBATI'},
    :PRK => {:two_char_code =>'KP', :country_name => 'KOREA, DEMOCRATIC PEOPLE\'S REPUBLIC OF'},
    :KOR => {:two_char_code =>'KR', :country_name => 'KOREA, REPUBLIC OF'},
    :KWT => {:two_char_code =>'KW', :country_name => 'KUWAIT'},
    :KGZ => {:two_char_code =>'KG', :country_name => 'KYRGYZSTAN'},
    :LAO => {:two_char_code =>'LA', :country_name => 'LAO PEOPLE\'S DEMOCRATIC REPUBLIC'},
    :LVA => {:two_char_code =>'LV', :country_name => 'LATVIA'},
    :LBN => {:two_char_code =>'LB', :country_name => 'LEBANON'},
    :LSO => {:two_char_code =>'LS', :country_name => 'LESOTHO'},
    :LBR => {:two_char_code =>'LR', :country_name => 'LIBERIA'},
    :LBY => {:two_char_code =>'LY', :country_name => 'LIBYAN ARAB JAMAHIRIYA'},
    :LIE => {:two_char_code =>'LI', :country_name => 'LIECHTENSTEIN'},
    :LTU => {:two_char_code =>'LT', :country_name => 'LITHUANIA'},
    :LUX => {:two_char_code =>'LU', :country_name => 'LUXEMBOURG'},
    :MAC => {:two_char_code =>'MO', :country_name => 'MACAU'},
    :MKD => {:two_char_code =>'MK', :country_name => 'MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF'},
    :MDG => {:two_char_code =>'MG', :country_name => 'MADAGASCAR'},
    :MWI => {:two_char_code =>'MW', :country_name => 'MALAWI'},
    :MYS => {:two_char_code =>'MY', :country_name => 'MALAYSIA'},
    :MDV => {:two_char_code =>'MV', :country_name => 'MALDIVES'},
    :MLI => {:two_char_code =>'ML', :country_name => 'MALI'},
    :MLT => {:two_char_code =>'MT', :country_name => 'MALTA'},
    :MHL => {:two_char_code =>'MH', :country_name => 'MARSHALL ISLANDS'},
    :MTQ => {:two_char_code =>'MQ', :country_name => 'MARTINIQUE'},
    :MRT => {:two_char_code =>'MR', :country_name => 'MAURITANIA'},
    :MUS => {:two_char_code =>'MU', :country_name => 'MAURITIUS'},
    :MYT => {:two_char_code =>'YT', :country_name => 'MAYOTTE'},
    :MEX => {:two_char_code =>'MX', :country_name => 'MEXICO'},
    :FSM => {:two_char_code =>'FM', :country_name => 'MICRONESIA, FEDERATED STATES OF'},
    :MDA => {:two_char_code =>'MD', :country_name => 'MOLDOVA, REPUBLIC OF'},
    :MCO => {:two_char_code =>'MC', :country_name => 'MONACO'},
    :MNG => {:two_char_code =>'MN', :country_name => 'MONGOLIA'},
    :MSR => {:two_char_code =>'MS', :country_name => 'MONTSERRAT'},
    :MAR => {:two_char_code =>'MA', :country_name => 'MOROCCO'},
    :MOZ => {:two_char_code =>'MZ', :country_name => 'MOZAMBIQUE'},
    :MMR => {:two_char_code =>'MM', :country_name => 'MYANMAR'},
    :NAM => {:two_char_code =>'NA', :country_name => 'NAMIBIA'},
    :NRU => {:two_char_code =>'NR', :country_name => 'NAURU'},
    :NPL => {:two_char_code =>'NP', :country_name => 'NEPAL'},
    :NLD => {:two_char_code =>'NL', :country_name => 'NETHERLANDS'},
    :ANT => {:two_char_code =>'AN', :country_name => 'NETHERLANDS ANTILLES'},
    :NCL => {:two_char_code =>'NC', :country_name => 'NEW CALEDONIA'},
    :NZL => {:two_char_code =>'NZ', :country_name => 'NEW ZEALAND'},
    :NIC => {:two_char_code =>'NI', :country_name => 'NICARAGUA'},
    :NER => {:two_char_code =>'NE', :country_name => 'NIGER'},
    :NGA => {:two_char_code =>'NG', :country_name => 'NIGERIA'},
    :NIU => {:two_char_code =>'NU', :country_name => 'NIUE'},
    :NFK => {:two_char_code =>'NF', :country_name => 'NORFOLK ISLAND'},
    :MNP => {:two_char_code =>'MP', :country_name => 'NORTHERN MARIANA ISLANDS'},
    :NOR => {:two_char_code =>'NO', :country_name => 'NORWAY'},
    :OMN => {:two_char_code =>'OM', :country_name => 'OMAN'},
    :PAK => {:two_char_code =>'PK', :country_name => 'PAKISTAN'},
    :PLW => {:two_char_code =>'PW', :country_name => 'PALAU'},
    :PAN => {:two_char_code =>'PA', :country_name => 'PANAMA'},
    :PNG => {:two_char_code =>'PG', :country_name => 'PAPUA NEW GUINEA'},
    :PRY => {:two_char_code =>'PY', :country_name => 'PARAGUAY'},
    :PER => {:two_char_code =>'PE', :country_name => 'PERU'},
    :PHL => {:two_char_code =>'PH', :country_name => 'PHILIPPINES'},
    :PCN => {:two_char_code =>'PN', :country_name => 'PITCAIRN'},
    :POL => {:two_char_code =>'PL', :country_name => 'POLAND'},
    :PRT => {:two_char_code =>'PT', :country_name => 'PORTUGAL'},
    :PRI => {:two_char_code =>'PR', :country_name => 'PUERTO RICO'},
    :QAT => {:two_char_code =>'QA', :country_name => 'QATAR'},
    :REU => {:two_char_code =>'RE', :country_name => 'REUNION'},
    :ROM => {:two_char_code =>'RO', :country_name => 'ROMANIA'},
    :RUS => {:two_char_code =>'RU', :country_name => 'RUSSIAN FEDERATION'},
    :RWA => {:two_char_code =>'RW', :country_name => 'RWANDA'},
    :KNA => {:two_char_code =>'KN', :country_name => 'SAINT KITTS AND NEVIS'},
    :LCA => {:two_char_code =>'LC', :country_name => 'SAINT LUCIA'},
    :VCT => {:two_char_code =>'VC', :country_name => 'SAINT VINCENT AND THE GRENADINES'},
    :WSM => {:two_char_code =>'WS', :country_name => 'SAMOA'},
    :SMR => {:two_char_code =>'SM', :country_name => 'SAN MARINO'},
    :STP => {:two_char_code =>'ST', :country_name => 'SAO TOME AND PRINCIPE'},
    :SAU => {:two_char_code =>'SA', :country_name => 'SAUDI ARABIA'},
    :SEN => {:two_char_code =>'SN', :country_name => 'SENEGAL'},
    :SYC => {:two_char_code =>'SC', :country_name => 'SEYCHELLES'},
    :SLE => {:two_char_code =>'SL', :country_name => 'SIERRA LEONE'},
    :SGP => {:two_char_code =>'SG', :country_name => 'SINGAPORE'},
    :SVK => {:two_char_code =>'SK', :country_name => 'SLOVAKIA (Slovak Republic)'},
    :SVN => {:two_char_code =>'SI', :country_name => 'SLOVENIA'},
    :SLB => {:two_char_code =>'SB', :country_name => 'SOLOMON ISLANDS'},
    :SOM => {:two_char_code =>'SO', :country_name => 'SOMALIA'},
    :ZAF => {:two_char_code =>'ZA', :country_name => 'SOUTH AFRICA'},
    :SGS => {:two_char_code =>'GS', :country_name => 'SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS'},
    :ESP => {:two_char_code =>'ES', :country_name => 'SPAIN'},
    :LKA => {:two_char_code =>'LK', :country_name => 'SRI LANKA'},
    :SHN => {:two_char_code =>'SH', :country_name => 'ST. HELENA'},
    :SPM => {:two_char_code =>'PM', :country_name => 'ST. PIERRE AND MIQUELON'},
    :SDN => {:two_char_code =>'SD', :country_name => 'SUDAN'},
    :SUR => {:two_char_code =>'SR', :country_name => 'SURINAME'},
    :SJM => {:two_char_code =>'SJ', :country_name => 'SVALBARD AND JAN MAYEN ISLANDS'},
    :SWZ => {:two_char_code =>'SZ', :country_name => 'SWAZILAND'},
    :SWE => {:two_char_code =>'SE', :country_name => 'SWEDEN'},
    :CHE => {:two_char_code =>'CH', :country_name => 'SWITZERLAND'},
    :SYR => {:two_char_code =>'SY', :country_name => 'SYRIAN ARAB REPUBLIC'},
    :TWN => {:two_char_code =>'TW', :country_name => 'TAIWAN, PROVINCE OF CHINA'},
    :TJK => {:two_char_code =>'TJ', :country_name => 'TAJIKISTAN'},
    :TZA => {:two_char_code =>'TZ', :country_name => 'TANZANIA, UNITED REPUBLIC OF'},
    :THA => {:two_char_code =>'TH', :country_name => 'THAILAND'},
    :TGO => {:two_char_code =>'TG', :country_name => 'TOGO'},
    :TKL => {:two_char_code =>'TK', :country_name => 'TOKELAU'},
    :TON => {:two_char_code =>'TO', :country_name => 'TONGA'},
    :TTO => {:two_char_code =>'TT', :country_name => 'TRINIDAD AND TOBAGO'},
    :TUN => {:two_char_code =>'TN', :country_name => 'TUNISIA'},
    :TUR => {:two_char_code =>'TR', :country_name => 'TURKEY'},
    :TKM => {:two_char_code =>'TM', :country_name => 'TURKMENISTAN'},
    :TCA => {:two_char_code =>'TC', :country_name => 'TURKS AND CAICOS ISLANDS'},
    :TUV => {:two_char_code =>'TV', :country_name => 'TUVALU'},
    :UGA => {:two_char_code =>'UG', :country_name => 'UGANDA'},
    :UKR => {:two_char_code =>'UA', :country_name => 'UKRAINE'},
    :ARE => {:two_char_code =>'AE', :country_name => 'UNITED ARAB EMIRATES'},
    :GBR => {:two_char_code =>'GB', :country_name => 'UNITED KINGDOM'},
    :USA => {:two_char_code =>'US', :country_name => 'UNITED STATES'},
    :UMI => {:two_char_code =>'UM', :country_name => 'UNITED STATES MINOR OUTLYING ISLANDS'},
    :URY => {:two_char_code =>'UY', :country_name => 'URUGUAY'},
    :UZB => {:two_char_code =>'UZ', :country_name => 'UZBEKISTAN'},
    :VUT => {:two_char_code =>'VU', :country_name => 'VANUATU'},
    :VEN => {:two_char_code =>'VE', :country_name => 'VENEZUELA'},
    :VNM => {:two_char_code =>'VN', :country_name => 'VIET NAM'},
    :VGB => {:two_char_code =>'VG', :country_name => 'VIRGIN ISLANDS (BRITISH)'},
    :VIR => {:two_char_code =>'VI', :country_name => 'VIRGIN ISLANDS (U.S.)'},
    :WLF => {:two_char_code =>'WF', :country_name => 'WALLIS AND FUTUNA ISLANDS'},
    :ESH => {:two_char_code =>'EH', :country_name => 'WESTERN SAHARA'},
    :YEM => {:two_char_code =>'YE', :country_name => 'YEMEN'},
    :YUG => {:two_char_code =>'YU', :country_name => 'YUGOSLAVIA'},
    :ZAR => {:two_char_code =>'ZR', :country_name => 'ZAIRE'},
    :ZMB => {:two_char_code =>'ZM', :country_name => 'ZAMBIA'},
    :ZWE => {:two_char_code =>'ZW', :country_name => 'ZIMBABWE'}
  }
end

以上是关于ruby ISO_3166-1国家代码2 char到3 char映射的主要内容,如果未能解决你的问题,请参考以下文章

ISO 3166-1 alpha-2 国家代码的区域名称

世界货币查找表 - 使用 ISO 3166-1 alpha-2 代码?

地理区域代码列表 [关闭]

json 摘自https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3

ISO 3166-1α-2 CSV

PHP ISO 3166-1 alpha-2