Browse Prior Art Database

Generic Code Page Conversion Application Program Interface

IP.com Disclosure Number: IPCOM000108377D
Original Publication Date: 1992-May-01
Included in the Prior Art Database: 2005-Mar-22

Publishing Venue

IBM

Related People

Gentry ML, Jr: AUTHOR [+4]

Abstract

An encoding scheme conversion Application Program Interface (API) is presented which provides semantic extensions to existing IBM and other conversion offerings, yet which is flexible enough to serve as a common interface to these diverse offerings. The result is a powerful conversion API which provides a common programming interface across many environments and platforms as well as a migration path from existing conversion capabilities.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 16% of the total text.

Generic Code Page Conversion Application Program Interface

       An encoding scheme conversion Application Program
Interface (API) is presented which provides semantic extensions to
existing IBM and other conversion offerings, yet which is flexible
enough to serve as a common interface to these diverse offerings.
The result is a powerful conversion API which provides a common
programming interface across many environments and platforms as well
as a migration path from existing conversion capabilities.

      The need to convert between encoding schemes (e.g., code pages,
code sets) is well established.  Examples of operations which depend
on such conversions include 3270 emulation on PC workstations, file
transfers between unlike systems, file sharing between DOS and
Windows, and database client/server transactions. Quite simply,
encoding scheme conversions are an integral part of today's computing
environment composed of loosely connected hardware and software of
diverse origins.

      The ubiquitous need for encoding scheme conversions has
promoted the introduction of an ever increasing variety of APIs that
provide conversion capabilities.  These APIs vary in both semantics
(e.g., functional capability) and syntax. Examples include:
-  GetCPConvertTable (from OS/2* EE Communications Manager)
-  WinCPTranslate (from OS/2 SE Presentation Manager* (PM))
-  TrnsDt (from OS/2-J Communications Manager)
-  iconv (from X/OPEN-AIX*)
-  OEMtoAnsi and AnsitoOEM (from WINDOWS 3.0)

      Each API above satisfies a set of conversion requirements for a
particular operating system platform, application environment or data
interchange architecture. The problem with this approach is that no
common conversion function interface exists to assist the application
developer who desires program portability across various platforms,
such as AIX, UNIX**, OS/2, PM and Windows.

      This proposal presents an encoding scheme conversion API which
converges and expands the functional content of many of the existing
conversion functions noted above, thereby offering a model for a
cross- system generic conversion API.  This proposed API can serve as
a conversion API shell, becoming a front end to system-specific
conversion APIs and offering a flexible migration path for
system-specific implementations to use when adding enhanced
conversion capabilities.  It is important to understand that this
proposal does not address conversion techniques (such as table
driven, mapping algorithms, etc.), but rather offers an API which
overlays a large set of such techniques.

      The proposed generic encoding scheme conversion API is string-
oriented.  The IBM Character Data Representation Architecture (CDRA)
concept of a "coded character set identifier" (CCSID) is used as the
encoding scheme tag (identifier).  CCSIDs readily and precisely
accommodate other encoding scheme identification methodologies such
as UNIX "code sets" or IBM "code pages...