현재 쓰고 있는 Unicode(UTF-8, UTF-16)는 1990년대 후반이 되어서야 정착되었다. 그러므로 이전에 쓰던 문자열 처리방식인 Multibyte(EUC-KR, CP949), Singlebyte(ANSI, ASCII)를 사용하는 경우도 있어서 이 또한 처리가능해야함
그런데 C++ STL은 ASCII, UTF-8, UTF-16만을 지원함
그래서 언리얼에서는 이러한 복잡한 상황을 간단히 해결하기 위해 TCHAR라고 하는 고유한 문자열 처리방식을 사용.
TCHAR정렬 상태는 UTF-16 포맷 메모리에 저장됨
언리얼에서는 대부분 UTF-16을 사용. 한글을 사용하는 경우, UTF-8방식으로 저장하면 됨.
< 언리얼의 문자열 처리 방식 >
유니코드를 사용하여 문자열 처리를 통일(UTF-16 사용)
유니코드를 위한 언리얼 표준 캐릭터 타입 : TCHAR
문자열은 TEXT매크로를 사용해 지정
문자열 다루는 클래스로 FString을 제공
FString : TCHAR 동적 배열을 소유하고있는 헬퍼 클래스
< FString 함수 >
FString::Printf() = FString을 입맛대로 조립하여 저장
FString::Contains(TEXT(“abc”), ESearchCase::--) = FString에 TEXT를 포함하는지 검사
ESearchCase::CaseSensitive = 대소문자 구분O
ESearchCase::IgnoreCase = 대소문자 구분X
FString::Find(TEXT(“abc”), ESearchCase::--) = TEXT가 시작되는 위치를 찾음
FString::Mid(index) = 해당 위치(index)부터 마지막까지의 문자열을 반환
FString::Split() = TEXT를 기준으로 문자를 나눔
FString::FromInt(int) = int를 string으로 변환
FString::SanitizeFloat(float) = float을 string으로 변환