본문 바로가기
공부/Unreal Engine 5

[언리얼5] FString, FName, FText 정리

by MY블로그 2024. 2. 5.

언리얼 엔진에서 문자열 처리형식 3가지의 특징 정리

FString

  • 가변 길이의 문자열 표현
  • 가장 일반적인 문자열 처리에 사용, 동적으로 변경되는 텍스트에 적합
  • 사용자 입력, 파일의 내용등 동적인 문자열 처리에 적합
  • 문자열의 추가, 제거, 대체 작업이 가능. 즉, 생성 후 수정이 가능

FName

  • 고유한 문자열 표현
  • 객체의 이름, 키, 문자열 자체가 고유의 특성을 가질 경우 사용
  • 내부적으로 문자열을 공유하며 메모리 사용량을 최소화
  • 동일한 문자열을 반복적으로 사용할 경우 적합
  • 한번 생성시 수정이 불가능

FText

  • 다국어 지원(로컬화)에 사용
  • 문자열의 내용과 해당 문자열의 문화권 정보를 함께 저장(다양한 언어를 텍스트로 표현)
  • UI의 텍스트, 사용자에게 보여지는 메시지에 사용
  • 한번 생성시 수정이 불가능

 

요약 : 동적으로 변경해야될 경우 FString사용, 고유한문자열 사용시 FName, 다국어 지원 필요시 FText

 

문자열 처리방식의 형변환

FString 에서

FName 으로 변환 : FName SampleFName( SampleFString );

FText 로 변환 : FText SamleFText = FText ::FromString( SampleFString );

 

FName 에서

FString 으로 변환 : FString SampleFString = SampleFName.ToString();

FText 로 변환 : FText SamleFText = FText ::FromName( SampleFName );

 

FText 에서

FString 으로 변환 : FString SampleFString = SampleFText.ToString();

*FName으로 변환 :FNameSampleFName( *SampleFText.ToString() );

 

*FText에서 FName으로 변환하는 경우 FString으로 변환한뒤 Fname 으로 변환 하는데, 이것은 FName이 FString을 기반으로 생성되기 때문.

댓글