[代码积累]解决HL7协议、TCP/IP通讯、16进制转字符串,中文乱码的问题。

本文介绍了在实现HL7协议与TCP/IP通讯时遇到的中文乱码问题,以及如何通过尝试不同编码方式最终解决乱码问题。在尝试UTF-8等多种编码无效后,使用'Default'编码成功解码中文。此外,还提及16进制转字符串的解决方案。
摘要由CSDN通过智能技术生成


  最近在做一个流水线的接口,连接的是日立生化和雅培化学发光。流水线软件提供商提供了基于HL7的通讯协议,其要求发发送完整的病人信息。

  之前和迈瑞等一些国产仪器做LIS接口时,他们提供的通讯方案,也是只支持网口,并且通讯协议是HL7,之前因为没有强制要求发送或者解析带有中文信息的数据,所以一直都是用ASCII编码,关于乱码的问题也没有处理。

  而这一次仪器厂家需要病人的信息,而这些内容大都是中文,尝试用他们的软件发送了一段测试信息,在网口测试工具显示是中文无乱码,所以肯定是解码存在问题,就此取的该数据的二进制数据,尝试进行解析。


误区

  通讯文档中有一个节点,说明编码是UTF-8,然而通过HexToString方法指定了几种常见的编码,包括UTF-8时,均无效果。


解决

  感觉自己已经用穷举法试遍了所有的编码,为什么仍然不行呢。然后就去网上搜常见的编码格式,一个“Default”引起了我的注意,然后……就是他了。


_(:з」∠)_

  回顾了一下,一个小小的编码格式也折磨了半天,不过终于解决了很久以来的一个困惑。不过我和信息科科长说这个事情的时候,他突然问了一句,那以后我装系统是不是只能装简体中文……


  关于16进制转字符串,可以参考我之前的文章,不过在网上搜相关资料的时候,发现了一段代码挺简洁的,出处的话我忘记了,好像说是微软提供的:</

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值