Tip ≣
일부 프로그래밍 언어에서는 문화권을 로케일(locale)이라고도 한다. 이는 문자열 정렬, 날짜/시간 표시, 테이블 위에 도구 배치 등과 같이 지역별 특정한 작업을 수행하기 위한 규칙 집합을 의미한다. 현재 운영 체제가 사용하는 것이 현재 문화권이라고 생각할 수 있다.
문화권을 이해하면 문자열 작업이 더 안전해지고 빨라질 수 있다. 예를 들어 다음과 같이 주어진 파일 이름에 .gif 확장자가 있는지 탐지하는 코드를 생각해 보자.
public bool isGif(string fileName) { return fileName.ToLower().EndsWith(".gif"); }
제법 똑똑한 방법이다. 문자열을 소문자로 바꾸기 때문에 .GIF 또는 .Gif와 같이 다양한 대소문자 조합이 확장자가 되는 경우를 방지할 수 있다. 문제는 모든 언어가 동일한 소문자를 가지고 있는 것은 아니라는 것이다. 예를 들어 튀르키예어에서는 I의 소문자가 i가 아니라 점이 없는 I라고 알려진 ı이다. 이 코드는 튀르키예에서 실행되지 않을 것이고, 아마도 아제르바이잔과 같은 일부 다른 나라에서도 실행되지 않을 것이다. 문자열을 소문자로 바꿈으로써, 사실 우리는 새로운 문자열을 만들고 있다. 앞에서 배운 것처럼 이는 비효율적이다.