数据转换

使用 IBM® MQIBM App Connect Enterprise 功能,转换消息流在不同环境之间传输的数据。

数据转换是数据从一个操作系统所识别的格式变换为另一个操作系统所识别格式的过程,且第二个操作系统使用的是不同的字符,如数字顺序。

如果使用的网络系统是由使用不同方法存储数值的系统组成的,或需要在以不同代码页查看数据的用户之间通信,必须考虑如何实现数据转换。

代码页转换
以下一个或多个原因都可能需要代码页转换:
  • ASCII 还是 EBCDIC
  • 特定于本地语言的代码页
  • 特定于操作系统的代码页

在 MQMD 头中的 CCSID IBM MQ 字段负责处理这些因素。 有关MQMD头部的更多信息,请参阅 IBM MQ 产品文档在线版的" 应用程序编程参考 "部分中的"MQMD - 消息描述符"。 有关代码页支持的更多信息,也请参阅 Application Programming Reference 部分中的“Code page conversion”。

编码
由于以下一个或两个原因,可能需要编码(字节顺序)转换:
  • 大尾数法还是小尾数法

    尾数法是描述数据是存储在计算机内存中还是使用最重要的首字节(大尾数法)还是尾字节(小尾数法)进行传输的数据属性。

  • 浮点数表示

在 MQMD IBM MQ 头文件中,这些因素由编码字段处理。 有关MQMD头部的更多信息,请参阅 IBM MQ 产品文档在线版的" 应用程序编程参考 "部分中的"MQMD - 消息描述符"。 有关编码的更多信息,也请参阅 Application Programming Reference 部分中的“Machine encoding”。

如果配置消息流以接收消息:
  • 通过采用 IBM MQ 协议接收的消息 IBM MQ ,其 头部包含代码页编码特征,这些特征可能出现在MQMD头部及其他 IBM MQ 头部中。
  • 跨协议接收的消息若未使用 IBM MQ 头部信息,则不包含这些特征。 通过在消息流的节点上使用属性来配置这些特征。 例如,在 FileInput 节点上设置消息编码字符集ID消息编码属性。
如果配置消息流以将消息发送到其他应用程序或系统:
  • 通过协议 IBM MQ 发送的消息在MQMD头中包含代码页编码特征,也可选地在其他 IBM MQ 头中包含。
  • 通过不使用 IBM MQ 标头的协议发送的消息必须进行修改,以在逻辑消息树结构的“属性”文件夹中包含这些特征。 输出节点调用的解析器使用这些值以生成正确的位流。

使用时 IBM App Connect Enterprise ,您可以使用、 IBM MQIBM App Connect Enterprise 两者的数据转换功能。

IBM App Connect Enterprise 设施
您可通过 IBM App Connect Enterprise 工具包在MRM域中建模消息。 根据消息的类型和物理层特征,转换消息的预定义的元素。 有关更多信息,请参阅 消息集: 配置物理属性 您还可以使用自定义消息。 然后,您可以使用计算节点或 JavaCompute 节点来配置编码和CCSID。 您不需要 IBM MQ 数据转换出口。
  • 根据 CCSID 设置,转换字符串数据。
  • 根据 CCSID 设置,转换十进制整数和浮点扩展十进制型。
  • 根据“编码”设置,转换十进制整数和浮点(其他物理数据类型)。
  • 二进制和布尔数据不转换。

IBM App Connect Enterprise 还可转换已提供解析器的标头 IBM MQ

使用 IBM App Connect Enterprise 设施时,整个消息不会转换为指定的编码和CCSID:您可以在每个头部指定不同的编码、CCSID或两者兼有,从而对消息后续部分执行不同的转换。 上一个头中的编码和 CCSID 定义消息体的值。

IBM MQ 设施

根据相应的 MQMD 字段中设置的值以及其他头格式名称转换头和消息体。 可能必须建立数据转换出口以转换消息体。

当使用 IBM MQ 设施时,整个消息将根据 标头 IBM MQ 中格式的设置,转换为指定的编码和CCSID。

有关使用 IBM MQ 设施进行数据转换的更多详细信息,请参阅 IBM MQ 产品文档在线版中" 应用程序编程参考 "部分的"数据转换"章节。