Share via


일부 라틴어-1 문자의 유니코드 범주가 변경됨

Char 메서드는 이제 라틴어-1 범위의 문자에 대해 올바른 유니코드 범주를 반환합니다. 범주는 유니코드 표준의 범주와 일치합니다.

변경 내용 설명

이전 .NET 버전에서 Char 메서드는 라틴어-1 범위의 문자에 대해 유니코드 범주의 고정 목록을 사용했습니다. 그러나 유니코드 표준은 해당 API가 구현된 이후 이러한 문자 중 일부의 범주를 변경했으며 이에 따른 불일치가 발생합니다. 또한 Char API와 CharUnicodeInfo API 간에 불일치가 있었으며, 이는 유니코드 표준을 따릅니다. .NET 5 이상 버전에서 Char 메서드는 모든 문자에 대한 유니코드 표준과 일치하는 유니코드 범주를 사용하고 반환합니다.

다음 표에서는 .NET 5에서 유니코드 범주가 변경된 문자를 표시합니다.

캐릭터 유니코드 범주
이전 .NET 버전
유니코드 범주
.NET 5 이상 버전
§(\u00a7) OtherSymbol OtherPunctuation
ª(\u00aa) LowercaseLetter OtherLetter
SHY(\u00ad) DashPunctuation Format
¶(\u00b6) OtherSymbol OtherPunctuation
º(\u00ba) LowercaseLetter OtherLetter

도입된 버전

.NET 5.0

Char 클래스를 사용하여 유니코드 문자 범주를 가져오는 코드가 있으며 범주가 변경되지 않는다고 가정하는 경우 범주를 업데이트해야 할 수도 있습니다.

변경 이유

Char 형식에서 반환된 범주가 유니코드 표준과 CharUnicodeInfo 형식 둘 다와 일치하도록 이렇게 변경했습니다.

영향을 받는 API

또한 유니코드 문자 범주를 얻기 위해 Char에 의존하는 클래스(예: Regex)는 이 변경의 영향을 받습니다.