Files
UnrealEngineUWP/Engine/Documentation/Source/Programming/UnrealArchitecture/StringHandling/StringHandling.INT.udn
Matthew Clark decf43c1c3 #UE4doc #docs:
Updated engine version
Removed overview header
Changed font settings on multiple terms.

[CL 2623127 by Matthew Clark in Main branch]
2015-07-16 09:46:16 -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.9
### 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.