국가 코드(ISO-3166-1 Alpha-2 Code)를 사용하여 국기 이모지 유니코드를 얻어오는 방법이다. 반대로, 국기 이모지를 받아서 국가 코드로 변환할 수도 있다. 반드시 countryCode가 제대로 들어온다는 보장이 있어야하기 때문에 "/^[a-z]{2}$/i" 같은 정규식을 추가해 줄 수도 있다.
Javascript
const OFFSET = 127397;
function getFlag(countryCode) {
const codePoints = [...countryCode.toUpperCase()].map(c => c.codePointAt() + OFFSET);
return String.fromCodePoint(...codePoints);
}
Kotlin
const val OFFSET = 127397
private fun getFlag(countryCode: String): String {
return countryCode.uppercase().map {
String(intArrayOf(it.code + OFFSET), 0 , 1)
}.joinToString("")
}
결과
"KR"을 넣어보면 🇰🇷이 튀어나올 것이다. 응용해서 국가 번호 Picker를 만드는데 사용했다. 캡쳐는...전부 +1이긴 하지만 ㅎㅎ... 언젠가 안드로이드 라이브러리로 하나 만들어보는 것도 좋을 것 같다.
'프로그래밍 > General' 카테고리의 다른 글
Git Release 명령어 인터페이스 (Command Line Interface)에서 처리 (0) | 2022.08.04 |
---|---|
Windows 패키지 매니저 Chocolatey (choco) 설치하기 (0) | 2022.08.04 |
버전 관리 - 버전 번호를 올리는 전략 (0) | 2022.07.11 |
Artillery를 이용한 쉬운 부하 테스트(stress test) (1) | 2022.07.11 |
SCP로 두 컴퓨터간 파일 옮기기 (Windows open ssh 설정) (0) | 2022.07.10 |