2015-04-05 4 views
2

Почему некоторые люди предпочитают использовать объект As400Text для обработки преобразования EBCDIC/ASCII (код Java с банками IBM MQ), если у нас уже есть опция MQC.MQGMO_CONVERT?As400Text class vs MQC.MQGMO_CONVERT

Мое требование заключается в преобразовании ASCII-> EBCDIC во время PUT операции, которую я делаю, установив формат записи набор символов 37 и в «STRING» и используя MQC.MQGMO_CONVERT опцию для автоматического преобразования EBCDIC -> ASCII во время GET операция.

Есть ли падение использования опции конвертации? Может кто-нибудь, пожалуйста, дайте мне знать, если это не 100-процентный безопасный вариант?

ответ

2

Лучшей практикой является запись сообщения MQ на вашей локальной кодовой странице (где CCSID и кодирование обычно будут заполняться автоматически как правильные значения) и установить поле «Формат». Затем получатель должен использовать MQGMO_CONVERT для запроса сообщения в CCSID и кодировке, в которой они нуждаются.

Get with Convert является безопасным и будет правильным, если вы предоставите правильный CCSID a и кодировку, которая описывает сообщение , когда вы положите его.

В описании того, что вы делаете в своем вопросе, вы конвертируете из ASCII-> EBCDIC перед помещением сообщения, а затем getter преобразуется из EBCDIC-> ASCII в MQGET. Это означает, что вы заплатили за две операции преобразования данных, когда вы могли бы сделать ничего (или два разных ASCII, только один).