Files
UnrealEngineUWP/Engine/Documentation/Source/Programming/UnrealArchitecture/StringHandling/StringHandling.INT.udn
Ben Marsh 49831a5631 Include documentation source in repository.
[CL 2489162 by Ben Marsh in Main branch]
2015-03-24 08:35:52 -04:00

71 lines
2.7 KiB
Plaintext

Availability: Public
Title:String Handling
Crumbs:%ROOT%, Programming, Programming/UnrealArchitecture/Reference, Programming/UnrealArchitecture/Reference/Properties
Description: An overview of the string classes available in UE4 and reference guides for FName, FText, and FString
Version: 4.5
## Overview
### FName
[INCLUDE:Programming/UnrealArchitecture/StringHandling/FName#overview]
* [FName Reference Guide](Programming/UnrealArchitecture/StringHandling\FName)
### FText
[INCLUDE:Programming/UnrealArchitecture/StringHandling/FText#overview]
* [FText Reference Guide](Programming/UnrealArchitecture/StringHandling\FText)
### FString
[INCLUDE:Programming/UnrealArchitecture/StringHandling/FString#overview]
* [FString Reference Guide](Programming/UnrealArchitecture/StringHandling\FString)
## Conversions
|From | To | Example |
|---|------|---------|
%fnametofstring%
%fnametoftext%
%fstringtofname%
%fstringtoftext%
%ftexttofstring%
%ftexttofname%
[VAR:FNameToFString]
|FName | FString | `TestHUDString = TestHUDName.ToString();` |
[/VAR]
[VAR:FNameToFText]
|FName | FText | `TestHUDText = FText::FromName(TestHUDName);` [REGION:warning] FName -> FText is valid in some cases, but be aware that the FNames's content will not benefit from the FText's "auto localization". [/REGION] |
[/VAR]
[VAR:FStringToFName]
|FString | FName | `TestHUDName = FName(*TestHUDString);` [REGION:warning] FString -> FName is dangerous as the conversion is lossy as FName's are case insensitive. [/REGION]|
[/VAR]
[VAR:FStringToFText]
|FString | FText | `TestHUDText = FText::FromString(TestHUDString);` [REGION:warning] FString -> FText is valid in some cases, but be aware that the FString's content will not benefit from the FText's "auto localization". [/REGION] |
[/VAR]
[VAR:FTextToFString]
|FText | FString| `TestHUDString = TestHUDText.ToString();` [REGION:warning] FText -> FString is dangerous as it is a potentially lossy conversion for some languages. [/REGION]|
[/VAR]
[VAR:FTextToFName]
|FText | FName | There is no direct conversion from FText to FName. Instead, convert to FString and then to FName. [REGION:warning] FText -> FString -> FName is dangerous as the conversion is lossy as FName's are case insensitive. [/REGION]|
[/VAR]
## Encoding
In general, you should be using the `TEXT()` macro when setting string variable literals. If you do not specify the `TEXT()` macro, your literal will be encoded using ANSI, which is highly limited in what
characters it supports. Any ANSI literals being passed into FString need to undergo a conversion to TCHAR (native Unicode encoding), so it is more efficient to use `TEXT()`.
For more about encoding, see the [](Programming\UnrealArchitecture\StringHandling\CharacterEncoding) documentation.