首页 > 其他分享 >quickfix协议当有中文时校验位错误问题解决

quickfix协议当有中文时校验位错误问题解决

时间:2023-06-09 10:24:05浏览次数:43  
标签:中文 校验位 UTF String 8859 ret 当有 ISO quickfix

quickfix校验位计算都是根据ISO-8859-1编码计算,知道这个规则后续我们处理中文就很好处理了。但是如果用ISO-8859-1编码有中文会出现乱码,如果将CharsetSupport.setCharset设置为UTF-8或者GBK时,在发送数据时会报java.nio.bufferoverflowexception:null,或者校验位失败。

1、往step网关发送消息时有中文时,需要将中文部分转为ISO-8859-1编码发送。qucikfix默认编码就是ISO-8859-1.

public static String convertISO88591(String str){
  String ret = " ;
try{
 byte[] bytes = str.getBytes("UTF-8);
 ret = new String(bytes,"ISO-8859-1);
}catch(Exception e){} 
    return ret;
}

  

2、接收网关数据有中文时,需要对中文进行单独转码,转为GBK或者UTF-8都可以

public static String convertUTF8(String str){
String ret = "";
try{
byte[] bytes = str.getBytes("ISO-88591-);
ret = new String(bytes,"UTF-8);
}catch(Exception e){}
return ret;
}

 不过个人觉得支持中文只要将CharsetSupport.setCharset("UTF-8")就可以了,可能对接的网关方对中文时这样处理的吧,导致我在这块耗费很多时间。

标签:中文,校验位,UTF,String,8859,ret,当有,ISO,quickfix
From: https://www.cnblogs.com/1024llh/p/17468403.html

相关文章

  • 每当有人问我数据不均衡的处理时候,我推荐他使用smote
    见:https://github.com/IBM/xgboost-smote-detect-fraud/blob/master/notebook/Fraud_Detection.ipynb 可以看到在不使用smote前,召回率和精度都不好(对恶意样本),使用了smote做数据增强后,两个指标都好了很多。 ......
  • antd表单校验不通过 滚动条自动滚动到未通过校验位置
    问题:当一个存在滚动条的表单校验不通过时,需要自动滚动到不通过表单的位置当滚动在最下面,不可视区域存在校验不通过,这时需要滚动条滚到未通过校验的表单位置思路:定位到第一个不通过的表单项,然后通过scrollIntoView(),滚动到相应位置表单在保存时会调用validate()方法校验表单,没......
  • J-link自带的串口发不出校验位
    买了个j-link,外观如下图: 安装驱动之后它的5号引脚和17号引脚可以当做串口的TXD和RXD,在设备管理器中显示如下图: 用起来非常的方便。但是最近参与的项目中要用到校验位,发现了问题。用逻辑分析仪测试发现即便串口调试助手中设置了校验位,但是发送出去的数据中依然不......
  • Modbus指令CRC校验位生成例程解析
    010607D001F48950,可以分为以下部分:项目Value从机地址01功能号06数据地址07D0数据01F4CRC8950循环冗余校验(CyclicRedundancyCheck,CRC)是一种根据网络数据包或计算机文......
  • C语言:身份证号校验位计算
    #include<stdio.h>/*身份证号码是由18位数字组成的,他们分别表示:1、前1、2位数字表示:所在省份的代码。2、前3、4位数字表示:所在城市的代码。3、前5、6位......
  • 当有两个名称相同但是储存位置不同的不同文件,需要保证文件名称的唯一性
    publicstaticvoidmain(String[]args){demo7("E:\\知乎.jpg");demo7("D:\\知乎.jpg");}privatestaticvoiddemo7(StringfilesPath){//可以利用split......
  • jsp与jsp之间的跳转----当有一个jsp在WEB-INF下
    不通过action来处理跳转,直接从test.jsp页面跳到WEB-INF下的test1.jsp。我们有时候会试试绝对路径的写法<%=request.getContext()=%>/WEB-INF/test1.jsp,但是还是不行。因为......