java调用C#接口时 参数中特殊字符串处理

2021/5/11 12:26:48

本文主要是介绍java调用C#接口时 参数中特殊字符串处理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1:当Java中专的参数比较复杂,有一些特殊字符时到了C#API接口中就变为空格

问题:

  今天遇到一个问题:页面带有"+"号的数据,传到服务端接口,结果+号变成了空格。例如:传“1+1”变成了"1 1"。

解决办法:

方案一:

    将“+”号替换成“%2B”; 

    例如:

    string name="a+b";
    name = name.replace('+','%2B');

 

 

    可能会有多个+号的情况,比如:“a+++b+”

    

while(name.IndexOf('+')>0){
     name = name.replace('+','%2B');  
}

  

  这样就可以解决+号被转化成空格的问题;但是这样看起来并不太好看,效率也不是很高,那就看看第二种方法

  方案二:

  

1

2

3

string name = "a+b";

 

name = encodeURIComponent(name);

  encodeURIComponent()函数大家可以看一下:

  注意:encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

没有什么优雅的代码比空代码的执行效率更高



这篇关于java调用C#接口时 参数中特殊字符串处理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程