C# (.NET v4.0)과 Java에서 'İ'를 소문자로 변환하는 동작이 " 불변의 "문화.string.ToLowerInvariant() in C# vs String.ToLowerCase (Culture.ROOT) for Java 터키어 İ
Java의 경우 "İ".toLowerCase(Locale.ROOT)
은 'i'
을 반환합니다.
, "İ".ToLowerInvariant()
및 "İ".ToLower(CultureInfo.InvariantCulture)
모두 "İ"
하지만 "İ".ToLower(new CultureInfo("en-EN"))
반환 'i'
을 반환합니다.
Java가 변환을 제대로 수행하고 있지만 C#이 아닌 것처럼 보입니다. 이것은 C#의 버그입니까?
C#은 큰 필드입니다. 귀하의 예제에서 어떤 버전의 .NET/CLR을 사용합니까? .NET 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.6? –
완료. 질문에 추가됨. – bittusarkar
'CultureInfo' 값은 변환을 수행 할 때 사용되는 문자 집합에 영향을 줄 수 있습니다. 영어는'InvariantCulture'가 특별한 터키어'¬' 문자를 포함하는 UTF-8 인코딩을 사용하는 ASCII 또는 ISO-8859-1을 사용하는 경향이 있습니다. –