Strings and Character Encodings


C programs represent strings within messages as byte arrays. Before sending an outbound message, EMS programs translate strings to their byte representation using an encoding, which the program specifies. Conversely, when EMS programs receive inbound messages, they reconstruct strings from byte arrays using the same encoding.

When a program specifies an encoding, it applies to all strings in message bodies (names and values), and properties (names and values). It does not apply to header names nor values. The function tibemsBytesMsg_WriteUTF always uses UTF-8 as its encoding.

For a list of standard encoding names, see www.iana.org.

Outbound Messages

C programs can determine the encoding of strings in outbound messages in two ways:

Inbound Messages

An inbound message from another EMS client explicitly announces its encoding. A receiving client decodes the message using the proper encoding.

IBM Mainframe—COBOL and C

In EBCDIC environments, the EMS client library automatically converts message strings. To client programs, all strings appear in the host code page. On the network, all strings appear in the network host page. For details, see tibems_SetCodePages() .


TIBCO Enterprise Message Service™ C and COBOL Reference
System Release 4.3, February 2006
Copyright © TIBCO Software Inc. All rights reserved
www.tibco.com