2010-12-11 4 views
3

내가 로케일에 대한 Javadoc을 읽는다면, 나는 그 영국에 대한 일정한 영국 (내가 생각 : P)가 존재 참조Locale에서 countryId를 정의하는 데 사용되는 ISO는 무엇입니까?

하지만 클래스 문서를 읽는다면, 그것은 말한다 :

국가 인수 유효한 ISO 국가 코드입니다. 이 코드는 ISO-3166에 의해 정의 된 의 대문자, 2 문자 코드입니다. 당신은 같은 사이트의 숫자 에서 이러한 코드의 전체 목록을 찾을 수 있습니다 ISO에, http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html

그러나 3166에 대한 그래서 United Kingdom is GB

, 왜 countryId의 두 글자 코드 영국의 로켈은 영국입니까? Locale 객체의 countryId에 사용되는 iso는 무엇입니까?

답변

1

실제로 ISO 3166입니다. 상수 java.util.Locale.UK의 값은 "en_GB"입니다. 따라서 영국이라고 불리우는데도 불구하고 올바른 가치가 있습니다.

1

사실 java.util.Locale.UK은 실제로 영국을 나타내는 정적 상수입니다. 이 상수의 Locale 인스턴스가 사용하는 ISO 국가 코드는 ISO 3166 에서처럼 "GB"입니다. "UK"에 대한 ISO 국가 코드 예약도 있습니다 (이에 대해서는 Wikipedia 참조). 왜 정적 로케일을 "GB"가 아닌 "UK"가 아닌 이름으로 지정했는지는 추측 할 수 있지만, 사람들이 "GB"대신 "UK"를 많이 사용하기 때문에 가능합니다. .

관련 문제