Apache Commons는 왜 '२३?' 숫자를 고려합니까?
Apache Commons Lang의 설명서에 따르면 String '는 숫자입니다.
서류상의 실수가 있을 수 있다고 생각했기 때문에, 그 진술을 확인하기 위해 테스트를 실시했습니다.Apache Commons에 따르면 수치라고 합니다.
이 문자열은 왜 숫자입니까?그 글자들은 무엇을 나타냅니까?
CharSequence에는 Unicode 숫자만 포함되어 있습니다(링크된 문서를 인용).
다음과 같은 경우 모든 문자가 true를 반환합니다.
숫자를 포함하는 일부 Unicode 문자 범위:
- '\u0030' ~ '\u0039', ISO-LATIN-1 숫자('0' ~ '9')
- '\u0660' ~ '\u0669', 아라비아-인도 숫자
- '\u06F0' ~ '\u06F9', 확장 아랍어-인도 숫자
- '\u0966' ~ '\u096F', 데바나가리 숫자
- '\uFF10' ~ '\uFF19', 전폭 자리
다른 많은 문자 범위에도 숫자가 포함되어 있습니다.
१२३
숫자:는 Devanagari 자자 。
기호는 네팔어 또는 힌디어, 구자라티어 등의 데바나가리 문자를 사용하는 다른 언어의 123과 동일하기 때문에 Apache Commons의 숫자입니다.
를 사용하여 캐릭터의 일반 카테고리를 확인할 수 있습니다.
System.out.println(Character.DECIMAL_DIGIT_NUMBER == Character.getType('१'));
인쇄가 됩니다.true
는 숫자이고, "digit"는 숫자입니다.
이제 ''' 문자의 유니코드 값을 살펴보겠습니다.
System.out.println(Integer.toHexString('१'));
// 967
이 숫자는 Devanagari 자릿수 범위에 있습니다.다음은 예를 제시하겠습니다.\u0966
through를 통해.\u096F
.
또, 다음의 조작도 시험해 주세요.
Character.UnicodeBlock block = Character.UnicodeBlock.of('१');
System.out.println(block.toString());
// DEVANAGARI
Devanagari는 다음과 같습니다.
인도와 네팔의 아부기다(알파시아리) 알파벳입니다.
"123"은 "123"(기본 라틴어 유니코드)입니다.
읽기:
특정의 「문자」가 가지는 속성을 알고 싶은 경우는, 직접 소스에 액세스 해 주세요.Unicode.org 를 참조해 주세요.그들은 당신이 알고 싶은 모든 것을 보여줄 수 있는 조사 도구를 가지고 있다.
특정 문자의 속성을 모두 보려면 다음을 수행하십시오.
http://unicode.org/cldr/utility/character.jsp?a = 다운로드
또는 다음과 같이 입력합니다.
"10진수"로 분류된 모든 문자(예: 숫자 값 0 ~ 9)를 보려면 다음을 수행하십시오.
http://unicode.org/cldr/utility/list-unicodeset.jsp?a=[:Numeric_Type=메시지:]
(550 코드 포인트 - 현재 / Unicode 9.0 현재)모든 문자(분수, 동그라미 등)를 "10진수 이외의 숫자"로 분류하려면 다음을 수행하십시오.
http://unicode.org/cldr/utility/list-unicodeset.jsp?a=[:Numeric_Type=메시지:]
(836 코드 포인트 - 현재 / Unicode 9.0 현재)모든 문자를 "10진수"로 분류하는 경우(즉, 숫자 값이 0 ~9), Unicode 6.0(즉, "Unicode 6.0")을 통해서만 표시할 수 있습니다.NET uses)를 사용해 주세요.
http://unicode.org/cldr/utility/list-unicodeset.jsp?a=[:Numeric_Type=Module:]%26 [:Age=6.0:]
(420 코드 포인트--변경하지 말 것)모든 문자를 "10진수"로 분류하는 경우(즉, 숫자 값이 0 ~9), Unicode 6.0(즉, "Unicode 6.0")을 통해서만 표시할 수 있습니다.NET 사용) 및 기본 다국어 플레인/보조문자 없음(즉, Code Point 65535/U+0xFFF 위에 없음)에서만 다음을 시도합니다.
http://unicode.org/cldr/utility/list-unicodeset.jsp?a=[:Numeric_Type=Emp:]%26[:Age=6.0:]%26[:bmp=Yes:]
(350 코드 포인트 --변경하지 마십시오)
참고: Unicode Consortium은 소프트웨어가 아닌 사양을 작성합니다.즉, 가능한 한 정확하게 사양을 구현하는 것은 각 소프트웨어 벤더에 달려 있습니다.HTML, JavaScript, CSS, SQL 등과 마찬가지로 플랫폼, 언어 등에 따라 차이가 있습니다.예를 들어, Microsoft 의 에서 버그를 발견했습니다.NET Framework를 사용하여 동그라미로 둘러싸인 라틴 문자A-Z
그리고.a-z
-- Code Points 0x24B6 ~0x24E9 -- 정상적으로 등록되지 않음char.IsLetter = true
(버그 리포트는 이쪽).이로 인해 관련 기능에서 예기치 않은 동작이 발생합니다.예를 들어,TextInfo.ToTitleCase()
method(여기서는 버그리포트).
기호 '데바나기리'는 실제로 다음과 같이 숫자 값을 나타내는 힌디어(기본적으로 산스크리트어, 즉 데바나기리)에서 유래되었다.
θ는 1을 나타냅니다.
θ는 2를 나타낸다.
현명하게
언급URL : https://stackoverflow.com/questions/40148683/why-does-apache-commons-consider-%e0%a5%a7%e0%a5%a8%e0%a5%a9-numeric
'programing' 카테고리의 다른 글
메이븐의 종속성 jar 파일 목록 (0) | 2022.09.22 |
---|---|
Linux 서브시스템을 탑재한 GCC를 탑재한 Windows용 실행 파일을 컴파일 하는 방법 (0) | 2022.09.22 |
CDI와 EJB는 어떻게 비교됩니까?인터랙티브? (0) | 2022.09.22 |
매개 변수 형식 PHP 7에서 암시-개체의 배열입니다. (0) | 2022.09.22 |
SET NAME과 SET CHARSET의 차이점 (0) | 2022.09.22 |