From Xojo Documentation


Provides a quick way to convert a string of known encoding to some other encoding, without having to create a TextConverter object.


result = ConvertEncoding(Str, NewEncoding)
result = Str.ConvertEncoding(NewEncoding)

Part Type Description
result String The converted string using the NewEncoding TextEncoding.
str String The string to be converted. It must already have an encoding. Use DefineEncoding to set an encoding.
newEncoding TextEncoding The encoding to be used in the conversion.


When you need to write text to a file that will be opened by another app that expects a particular encoding, use ConvertEncoding to convert the text to that encoding before you call the Write method.

The string must already have an encoding in order to convert it to something else. Use DefineEncoding to set an encoding if it does not have one.

Sample Code

The following code use the Encodings module to convert the text in a TextField to the ANSI encoding:

Dim s As String
s = ConvertEncoding(TextField1.Text, Encodings.WindowsANSI)

Here is an example that converts the text in a TextField to the MacRoman encoding.

Dim f As FolderItem
Dim fileStream As TextOutputStream
file = GetSaveFolderItem(FileTypes1.Text, "My Info.txt")
If f <> Nil Then
fileStream = TextOutputStream.Create(f)
fileStream.Write(ConvertEncoding(nameField.Text, Encodings.MacRoman))
End If

See Also

TextConverter, TextEncoding, TextOutputStream classes; DefineEncoding, Encoding functions; Encodings module.