【发布时间】:2019-01-10 04:05:12
【问题描述】:
我正在尝试将 ISO 分配的国家/地区名称转换为其 ISO_3166-1 alpha 3(3 个字母)代码。我已经在这里看到了代码 sn-ps。
但是,getDisplayCountry 方法返回的字符串与the ISO website 上显示的指定名称 似乎有所不同。例如,对于 Alpha 3 代码“RUS”,getDisplayCountry 是 "Russia",而 ISO 分配的英文名称(又名英文简称)如下所示。
如何解决这个问题?特别是如果我不想维护一个单独的查找文件 - 这违背了使用内置 java 类的全部意义。
【问题讨论】:
-
为什么使用网站名称如此重要? ISO 3166 的目的是定义国际公认的字母和/或数字代码,我们在提及国家和地区时可以使用这些代码。但是,它没有定义国家的名称。 iso.org/iso-3166-country-codes.html
-
您必须创建自己的
Locale。我的问题是,如果您的一位用户看到“俄罗斯”而不是“俄罗斯联邦”,那会是什么混乱? -
您好,感谢您抽出宝贵时间回复。传入的数据将包含基于 ISO 列表的国家名称 - 如网站所示。我指的代码不是面向用户的。它是入站接口的一部分。