空格的不同编码

最近在工作中遇到一个问题,需求是在改某个字段的值的时候,需要验证一下报文中的字段值的原值和库中的值是否一致,如果一致,才允许修改,否则退回,并提示,申报的原值和库中的值不一致。

   问题:发现申报的原值和库中的值一致,但是退回了,而实际上不应该退回。

  定位问题:怀疑存在特殊编码的问题,最后发现,申报报文中的空格的编码和库中的空格的编码不一致导致退回。所以验证值是否一直的程序没有问题。

申报报文中的空格的编码为(0x20),而库中的空格编码为(0xc2 0xa0);它们的16进制编码是不一致的。

那么为什么不一致呢??原数据是通过接口的方式传递给另一个系统,另一个系统只是在界面展示,然后修改后,和修改后的值一起再传回来。看似没有毛病,实际上存在问题。空格编码为(0xc2 0xa0)的字符串在界面显示时:1.如果时用label标签或者非表单标签显示,那么空格编码为(0xc2 0xa0)的字符串会自动转化为(0x20);2:如果使用Input标签(表单标签时)空格编码为(0xc2 0xa0)的字符串的编码保持不变。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值