WebSphere Message Service Clients for C/C++ and .NET, Version 1.2 운영 체제: Linux, Windows

코딩된 문자-세트의 ID(CCSID)

C 또는 C++의 경우 오브젝트가 XMS로 전달하거나 XMS에서 수신하는 문자 데이터 문자열에 대해 변환이 필요할 수 있습니다. XMS는 오브젝트의 XMSC_CLIENT_CCSID 등록 정보를 통해 오브젝트가 사용하는 코드 페이지를 알 수 있습니다.

C 또는 C++ 응용프로그램이 API를 통해 문자 데이터 문자열을 XMS에 전달하면 필요한 경우 XMS 문자열의 문자 데이터를 오브젝트가 사용한 코드 페이지에서 XMS에서 필요로 하는 코드 페이지로 변환합니다. 마찬가지로, 오브젝트가 API를 통해 XMS에서 문자 데이터 문자열을 수신하면 필요한 경우 XMS 문자열의 문자 데이터를 데이터의 현재 코드 페이지에서 오브젝트가 사용하는 코드 페이지로 변환합니다. 따라서 문자열의 문자 데이터를 변환하기 위해 XMS 오브젝트가 사용하는 코드 페이지를 알아야 합니다.

ConnectionFactory, Connection, Session, MessageProducer 또는 MessageConsumer 오브젝트의 XMSC_CLIENT_CCSID 등록 정보는 오브젝트가 사용하는 코드 페이지를 지정합니다. XMSC_CLIENT_CCSID 등록 정보는 코드 페이지를 식별하는 코딩된 문자-세트의 ID(CCSID)입니다. 응용프로그램에서 이들 오브젝트 중 하나를 작성하면 XMS 이 등록 정보를 설정합니다. 물론 응용프로그램에서 이 값을 즉시 바꿀 수 있습니다.

응용프로그램이 시작되면 XMS 응용프로그램이 실행 중인 환경을 확인하여 응용프로그램에 적절한 CCSID를 알아냅니다. 이 CCSID를 프로세스 CCSID라고 합니다. 응용프로그램은 아무 때나 xmsSetClientCCSID()를 호출하여 프로세스 CCSID를 변경할 수 있습니다. 이 함수는 어떤 클래스에도 속하지 않은 C 함수이지만, C++ 응용프로그램에서도 이 함수를 호출할 수 있습니다.

응용프로그램에서 연결 팩토리를 작성하면 XMS 오브젝트의 XMSC_CLIENT_CCSID 등록 정보를 설정합니다. 연결 팩토리가 관리 오브젝트의 저장소에서 검색된 오브젝트 정의를 사용하여 작성되고 오브젝트 정의에서 XMSC_CLIENT_CCSID 등록 정보의 값을 지정한 경우 XMS 이 값을 사용하여 등록 정보를 설정합니다. 그렇지 않은 경우에는 XMS 이 등록 정보를 특별한 값인 XMSC_CCSID_PROCESS로 설정합니다. 이 값은 연결 팩토리가 프로세스 CCSID에 의해 식별되는 코드 페이지를 사용하고 있음을 나타냅니다.

응용프로그램이 연결 팩토리를 사용하여 연결을 작성하면 XMS는 ConnectionFactory 오브젝트의 XMSC_CLIENT_CCSID 등록 정보를 새로 작성한 Connection 오브젝트에 복사합니다. XMS는 응용프로그램에서 연결을 작성할 때만 등록 정보를 복사합니다. 응용프로그램이 ConnectionFactory 오브젝트의 XMSC_CLIENT_CCSID 등록 정보를 나중에 변경한 경우 XMS 변경사항을 Connection 오브젝트의 XMSC_CLIENT_CCSID 등록 정보에 전달하지 않습니다.

마찬가지로 응용프로그램이 연결 팩토리를 사용하여 연결을 작성하면 XMS는 Connection 오브젝트의 XMSC_CLIENT_CCSID 등록 정보를 새로 작성한 Session 오브젝트에 복사합니다. 또한 응용프로그램이 세션을 사용하여 메시지 생성자나 메시지 처리자를 작성하면 XMS Session 오브젝트의 XMSC_CLIENT_CCSID 등록 정보를 새로 작성한 MessageProducer 또는 MessageConsumer 오브젝트에 복사합니다. 두 경우 모두 XMS 응용프로그램에서 오브젝트를 작성할 때만 등록 정보를 복사합니다.

응용프로그램은 아무 때나 PropertyContext 클래스의 Set Integer Property 메소드를 호출하여 오브젝트의 XMSC_CLIENT_CCSID 등록 정보를 변경할 수 있습니다. 응용프로그램은 등록 정보를 다음 중 하나의 값으로 설정할 수 있습니다.
코딩된 문자-세트의 ID(CCSID)
오브젝트는 지정된 CCSID에 의해 식별되는 코드 페이지를 사용합니다. 응용프로그램이 유효하지 않은 CCSID를 지정하거나 플랫폼에서 코드 페이지 변환을 지원하지 않는 CCSID를 지정하면 호출이 실패하며 XMS XMS_E_ILLEGAL_PROPERTY_VALUE 오류 코드를 리턴합니다.
XMSC_CCSID_UTF8
오브젝트에서 UTF-8 형식의 Unicode 데이터를 사용하고 있습니다.
XMSC_CCSID_UTF16
오브젝트에서 UTF-16 형식의 Unicode 데이터를 사용하고 있습니다.
XMSC_CCSID_UTF32
오브젝트에서 UTF-32 형식의 Unicode 데이터를 사용하고 있습니다.
XMSC_CCSID_PROCESS
오브젝트가 프로세스 CCSID로 식별되는 코드 페이지를 사용합니다. XMS는 오브젝트가 사용하는 코드 페이지를 알아야 할 때마다 프로세스 CCSID를 조회합니다. 응용프로그램에서 xmsSetClientCCSID()를 호출하여 프로세스 CCSID를 변경한 경우 XMS는 오브젝트가 사용하는 코드 페이지를 다음 번에 파악할 때 이 변경사항을 감지합니다.

이는 특별한 값의 등록 정보이며 실제 CCSID는 아닙니다.

XMSC_CCSID_HOST
오브젝트가 응용프로그램이 실행하는 환경에서 파생된 프로세스 CCSID로 식별되는 코드 페이지를 사용합니다. 응용프로그램에서 xmsSetClientCCSID()를 호출하여 프로세스 CCSID를 변경하지 않는 한 이 CCSID는 프로세스 CCSID와 동일합니다.

이는 특별한 값의 등록 정보이며 실제 CCSID는 아닙니다.

XMSC_CCSID_NO_CONVERSION
오브젝트가 수신한 문자 데이터 문자열이 변환되지 않습니다.

이는 특별한 값의 등록 정보이며 실제 CCSID는 아닙니다.

응용프로그램이 XMS에 전달하거나 XMS에서 수신하는 문자 데이터 문자열에는 메시지의 문자열이 포함되어 있습니다. 물론 메시지의 문자열만 포함할 수 있는 것은 아닙니다. 다음과 같은 메시지 부분에 변환이 필요한 문자열이 있을 수 있습니다.

XMS에서 송신 메시지의 문자열을 변환해야 할 경우 XMS 메시지를 작성한 세션과 연관된 코드 페이지를 사용합니다. XMS에서 수신 메시지의 문자열을 변환해야 할 경우 XMS 메시지를 수신하는 메시지 처리자와 연관된 코드 페이지를 사용합니다. XMS는 관련된 Session 또는 MessageConsumer 오브젝트의 XMSC_CLIENT_CCSID 등록 정보 값을 통해 코드 페이지를 알아냅니다.

메시지 문자열 변환은 변환해야 하는 데이터의 양 및 변환 빈도에 따라 성능에 영향을 줄 수 있습니다. 메시지 처리량이 최대가 되도록 응용프로그램을 디자인하려는 경우에는 필요한 데이터 변환의 양을 줄이는 방법을 고려해야 합니다. 이를 수행할 수 있는 방법을 보여 주는 두 가지 예를 들겠습니다.
주: .NET 응용프로그램에서는 XMSC_CLIENT_CCSID 등록 정보가 필요하지 않습니다. .NET에서는 모든 문자열이 기본 .NET 문자열 클래스를 사용하여 전달됩니다. 이 클래스에서는 수정된 인코딩을 사용하므로 이를 해석하기 위한 추가 정보가 필요하지 않습니다.

Concept topic

이용약관 | 피드백

Timestamp icon마지막 갱신 날짜: 3 Mar 2006
(C) Copyright IBM Corporation 2005. All Rights Reserved.
이 Information Center는 Eclipse 기술 기반입니다. (http://www.eclipse.org 웹 사이트 참조)