首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >BizTalk对Outbound/Inbound message字符编码的转换

BizTalk对Outbound/Inbound message字符编码的转换

作者头像
阿新
发布2018-04-12 17:40:45
9680
发布2018-04-12 17:40:45
举报
文章被收录于专栏:c#开发者c#开发者

BizTalk对Outbound/Inbound message字符编码的转换

一般的Linux/unix环境出来的报文大部分使用UTF-8,而Windows环境则大多是UTF-16(Unicode)编码方式。因此很多时候都需要转换报文的编码方式

方法一

通过BizTalk server 2006的XML Transmit pipeline TargetCharset的值进行设定将 TargetCharset 值设置为 Big-Endian-UTF 16,希望使用UTF-16(Unicode)

注意:方法一可能存在bug,不会像你预期的那样转化。

方法二

使用自定管道,例如,XML 组装器组件的自定义管道中设置 目标 charset 属性,如下所示:• 若要使用 UTF-8 编码格式,将 目标 charset 属性设置为 UTF-8 (65001) 。

• 若要使用 UTF-16 编码格式,将 目标 charset 属性设置为 Big-Endian-UTF 16 (1201) 或 Little-Endian-UTF 16 (1200) 。

方法三

使用业务流程赋值实现,例如,将 MessageAssignment 形状添加到一个新的业务流程。 接下来,双击 MessageAssignment 形状。 然后,键入下面的代码的 BizTalk 表达式 Editor.<Message_Name>(XMLNORM.TargetCharset) = "unicode";

unicode utf-8 utf-16之间有什么区别与联系

Unicode:

unicode.org制定的编码机制, 要将全世界常用文字都函括进去.

在1.0中是16位编码, 由U+0000到U+FFFF. 每个2byte码对应一个字符; 在2.0开始抛弃了16位限制, 原来的16位作为基本位平面, 另外增加了16个位平面, 相当于20位编码, 编码范围0到0x10FFFF.

UTF: Unicode/UCS Transformation Format

UTF-8, 8bit编码, ASCII不作变换, 其他字符做变长编码, 每个字符1-3 byte. 通常作为外码. 有以下优点:

* 与CPU字节顺序无关, 可以在不同平台之间交流

* 容错能力高, 任何一个字节损坏后, 最多只会导致一个编码码位损失, 不会链锁错误(如GB码错一个字节就会整行乱码)

UTF-16, 16bit编码, 是变长码, 大致相当于20位编码, 值在0到0x10FFFF之间, 基本上就是unicode编码的实现. 它是变长码, 与CPU字序有关, 但因为最省空间, 常作为网络传输的外码.

UTF-16是unicode的preferred encoding.

UTF-32, 仅使用了unicode范围(0到0x10FFFF)的32位编码, 相当于UCS-4的子集.

UTF与unicode的关系:

Unicode是一个字符集, 可以看作为内码.

而UTF是一种编码方式, 它的出现是因为unicode不适宜在某些场合直接传输和处理. UTF-16直接就是unicode编码, 没有变换, 但它包含了0x00在编码内, 头256字节码的第一个byte都是0x00, 在操作系统(C语言)中有特殊意义, 会引起问题. 采用UTF-8编码对unicode的直接编码作些变换可以避免这问题, 并带来一些优点.

  软件有三种途径来决定文本的字符集和编码:

  最标准的途径是检测文本最开头的几个字节,如下表:

开头字节             Charset/encoding EF BB BF    UTF-8 FE FF     UTF-16/UCS-2, little endian FF FE     UTF-16/UCS-2, big endian FF FE 00 00  UTF-32/UCS-4, little endian. 00 00 FE FF  UTF-32/UCS-4, big-endian.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2008-11-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • BizTalk对Outbound/Inbound message字符编码的转换
    • 方法一
      • 方法二
        • 方法三
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档