Most operating systems, such as AIX® and Linux®, use ASCII character encoding. Most i5/OS™ functions use EBCDIC character encoding. You can specify a coded character set identifier (CCSID) value for some i5/OS object types to identify a specific encoding for character data in the object.
i5/OS PASE byte stream files have a CCSID attribute that is used by most system interfaces outside i5/OS PASE to convert text data read from or written to the file as needed. i5/OS PASE does not do CCSID conversion for data read from or written to stream files (consistent with AIX), but it does set the CCSID attribute of any byte stream file created by an i5/OS PASE program to the current i5/OS PASE CCSID value so other system functions can correctly handle ASCII text in the file.
If you use AIX APIs that are shipped in the i5/OS PASE shared libraries, i5/OS PASE handles most of the data conversion for you. i5/OS PASE programs can use iconv functions provided in shared library libiconv.a for any character data conversions that are not handled automatically by i5/OS PASE runtime. For example, an i5/OS PASE application generally needs to convert character strings to EBCDIC before calling an i5/OS API function (using either _ILECALLX or _PGMCALL).