mirror of
https://gitee.com/jzsw-it/yexuejc-base.git
synced 2025-12-23 02:19:26 +08:00
[update] StrUtil 增加国家代码二进制相互转换
This commit is contained in:
@@ -539,13 +539,13 @@ public final class StrUtil {
|
||||
* 国家代码二进制转国家代码
|
||||
*
|
||||
* @param countryCode 国家代码二进制转:010000000
|
||||
* <pre>
|
||||
* 1 0 1 0 1 1 1 1 1 <br>
|
||||
* 日本 韓国 泰国 新加坡 中国内陸 台湾 香港 澳门 其他
|
||||
* <br>
|
||||
* 右→左:0位:其他、1位:中国澳门、2位:中国香港、3位:中国台湾、4位:中国内陸、5位:新加坡、6位:泰国、7位:韓国、8位:日本
|
||||
* <br> 1:在该国表示、0:不表示该国
|
||||
* </pre>
|
||||
* <pre>
|
||||
* 1 0 1 0 1 1 1 1 1 <br>
|
||||
* 日本 韓国 泰国 新加坡 中国内陸 台湾 香港 澳门 其他
|
||||
* <br>
|
||||
* 右→左:0位:其他、1位:中国澳门、2位:中国香港、3位:中国台湾、4位:中国内陸、5位:新加坡、6位:泰国、7位:韓国、8位:日本
|
||||
* <br> 1:在该国表示、0:不表示该国
|
||||
* </pre>
|
||||
* @return JPN:日本、KOR:韓国、THA:泰国、CHN:中国内陸、SGP:新加坡、TWN:中国台湾、HKG:中国香港、MAC:中国澳门、999:其他、0:不明
|
||||
*/
|
||||
public static String getCountryByCode(String countryCode) {
|
||||
@@ -557,5 +557,18 @@ public final class StrUtil {
|
||||
return COUNTRY_CODE.get(COUNTRY_CODE.size() - 1 - index);
|
||||
}
|
||||
|
||||
/**
|
||||
* nationalCodeは想定国エリア範囲内存在するかどうか
|
||||
* 想定国エリア範囲:"JPN", "KOR", "THA", "SGP", "CHN", "TWN", "HKG", "MAC", "999"
|
||||
*
|
||||
* @param nationCode
|
||||
* @return 存在:true;存在しない:false
|
||||
*/
|
||||
public static boolean containsCountry(String nationCode) {
|
||||
if (isNotEmpty(nationCode)) {
|
||||
return COUNTRY_CODE.contains(nationCode);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -103,37 +103,37 @@ class StrUtilTest {
|
||||
|
||||
@Test
|
||||
void countryToCode() {
|
||||
Assertions.assertEquals(StrUtil.countryToCode("JPN"),"100000000");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("KOR"),"010000000");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("THA"),"001000000");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("CHN"),"000100000");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("SGP"),"000010000");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("TWN"),"000001000");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("HKG"),"000000100");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("MAC"),"000000010");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("999"),"000000001");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("O"),"000000000");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("JPN"), "100000000");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("KOR"), "010000000");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("THA"), "001000000");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("SGP"), "000100000");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("CHN"), "000010000");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("TWN"), "000001000");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("HKG"), "000000100");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("MAC"), "000000010");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("999"), "000000001");
|
||||
Assertions.assertEquals(StrUtil.countryToCode("O"), "000000000");
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
void getCountryByCode() {
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("100000000"),"JPN");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("010000000"),"KOR");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("001000000"),"THA");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("000100000"),"CHN");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("000010000"),"SGP");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("000001000"),"TWN");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("000000100"),"HKG");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("000000010"),"MAC");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("000000001"),"999");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("000000000"),"O");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("100000000000"),"O");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("-100000000000"),"O");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("100000000"), "JPN");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("010000000"), "KOR");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("001000000"), "THA");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("000100000"), "SGP");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("000010000"), "CHN");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("000001000"), "TWN");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("000000100"), "HKG");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("000000010"), "MAC");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("000000001"), "999");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("000000000"), "O");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("100000000000"), "O");
|
||||
Assertions.assertEquals(StrUtil.getCountryByCode("-100000000000"), "O");
|
||||
}
|
||||
|
||||
@Test
|
||||
void countryToCodeByte() {
|
||||
System.out.println(String.format("%9s",Integer.toBinaryString(StrUtil.countryToCodeByte("CHN") & 0xFF)).replace(" ","0"));
|
||||
System.out.println(String.format("%9s", Integer.toBinaryString(StrUtil.countryToCodeByte("CHN") & 0xFF)).replace(" ", "0"));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user